unittestフレームワーク学習
7753 ワード
1、命名規則
test_での先頭にある
2、装飾器:
@classmethodは1回のみ実行
@
test_での先頭にある
1 impot unittest
2
3 class Cs(unittest.TestClass):
4 def test_01(self):
5 pass
2、装飾器:
@classmethodは1回のみ実行
@
unitest.skip(reason
) で テストをスキップし、
@ unittest.skipif(conditition
, reason
) conditition true
@unittest.skipunless(condition,reason)
condition
trueでない テストをスキップ
@expected failure @unittest.expectedFailure
、testが した 、 したcaseには されません 1 import unittest
2
3
4 class TsetCase(unittest.TestCase):
5 #
6 @classmethod
7 def tearDownClass(cls):
8 print(' !!')
9
10 @classmethod
11 def setUpClass(cls):
12 print(' !!')
13
14 @unittest.skip(' ')
15 def test_01(self):
16 a = 1
17 b = 2
18 self.assertEqual(a + b, 3)
19
20 if __name__ == '__main__':
21 unittest.main()
:https://www.jianshu.com/p/ba5dbcb5d71b
3'、 キット:unittest module
は、unittest
を する を し、カスタマイズされたtest class
を します.unitest.TestCase
、test method
はtest
で まり、 は によって べ え、 な :
①tearDownClass(cls)テスト の
②setuUpClass(cls)
③setUp(self)テストを するたびに1 する
④tearDown(self)は、テストの が するたびに する
テスト を します.
unittest.main()はすべてのcaseを します
unittest.TestSuite()テストキット
runner = unittest.TextTestRunner()TextTestRunnerクラスのインスタンス import unittest
class TsetCase(unittest.TestCase):
#
@classmethod
def tearDownClass(cls):
print(' !!')
@classmethod
def setUpClass(cls):
print(' !!')
def setUp(self):
print(' ')
def tearDown(self):
print(' ')
@unittest.skip(' ')
def test_01(self):
a = 1
b = 2
self.assertEqual(a + b, 3)
def test_02(self):
a = 2
b = 3
self.assertEqual(a+b,4)
if __name__ == '__main__':
# unittest.main()
# suite = unittest.TestSuite()
# suite.addTest(TsetCase('test_01'))
# runner = unittest.TextTestRunner()
# runner.run(suite)
ljwj = r'F:\ \ \TestCases'
cszx = unittest.defaultTestLoader.discover(start_dir=ljwj , pattern='test_*.py')
runner = unittest.TextTestRunner()
runner.run(cszx)