[PYTHON] Gerätetest

calculation.py


class Cal(object):
    def add_num_and_double(self, x, y):

        if type(x) is not int or type(y) is not int:
            raise ValueError
        result = x + y
        result *= 2
        return result

Test berechne.py mit unittest

test_calculation.py


import unittest
import calculation

release_name = 'lesson2'

class CalTest(unittest.TestCase):

    #Wird aufgerufen, bevor der Test ausgeführt wird
    def setUp(self):
        print('set up')
        self.cal = calculation.Cal()

    #Wird nach dem Test aufgerufen
    def tearDown(self):
        print('clean up')
        del self.cal

    #@unittest.skip('skip')Sie können den Test mit überspringen, aber dieses Mal werden wir ihn nicht überspringen
    @unittest.skipIf(release_name == 'lesson', 'skip!')
    def test_add_num_and_double(self):#test_Bilden Sie den Methodennamen
        #cal = calculation.Cal()
        self.assertEqual(self.cal.add_num_and_double(1, 1), 4)

    #Ausnahmetest
    def test_add_num_and_double_raise(self):
        #cal = calculation.Cal()
        with self.assertRaises(ValueError):
            self.cal.add_num_and_double('1', '1')

#Nicht für Pycharm erforderlich
#if __name__ == '__main__':
#    unittest.main()

Sie können sehen, dass Setup und Teardown jeweils zweimal aufgerufen werden.

Ausgabe


PASSED             [ 50%]set up
clean up
PASSED       [100%]set up
clean up

Recommended Posts

Gerätetest
Python unittest assertXXX Liste
Mock urllib2 und unittest