[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