改进的测试用例类
dectest的Python项目详细描述
改进的测试用例类
dectest.TestCase
是unittest.TestCase
的替换
一些附加功能。
使用decorators进行测试、设置和拆卸
可以选择使用@test
装饰符标记测试,而不是
用{{CD4}}预处理方法名称。下面的测试用例类
包含两个测试:
fromdectestimportTestCase,testclassMyTest(TestCase):deftest_foo(self):pass@testdefbar(self):pass
可以使用@before
和@after
标记setup和teardown方法。
分别是装修工。一个类可以有多个设置和拆卸
方法:
fromdectestimportTestCase,before,afterclassMyTest(TestCase):@beforedefsetup_stuff(self):pass@beforedefsetup_more_stuff(self):pass@afterdefteardown_all_stuff(self):pass
类内的执行顺序未定义且不应为 依赖于它,可以保证超级类中的setup方法 在子类中的方法之前执行,并在子类中删除方法 在超级类中的teardown方法之前执行:
fromdectestimportTestCase,before,afterclassMySuperTest(TestCase):@beforedefsuper_setup(self):print("setup first")@afterdefsuper_teardown(self):print("teardown second")classMySubTest(MySuperTest):@beforedefsub_setup(self):print("setup second")@afterdefsub_teardown(self):print("teardown first")
补丁支持
dectest.TestCase
有一个patch()
方法来使用
unittest.mock.patch()
。此修补程序在测试期间被删除
拆卸:
fromdectestimportTestCase,testclassMyPatchTest(TestCase):@testdeffoo(self):exit=self.patch("sys.exit")# will be stopped during teardown# call implementationexit.assert_called_with(1)