Rai*_*yan 18 python testing django
之间有什么区别setUpClass,setUpTestData并且setUp在TestCase上课吗?
更具体地说,每个用例有哪些?
到目前为止我所理解的:
根据我上面提到的理解,似乎setUpTestData位于setUpClass和setUp之间的区域.为什么我们需要setuUpTestData的类级方法,而两者中的一个setUpClass或setUp两者的组合可以实现相同的效果?
Mil*_*lan 21
编辑:Alasdair评论后的更新/更正
setUpClass用于执行类范围的初始化/配置(例如,创建连接,加载webdrivers).setUpClass例如,当使用打开数据库连接/会话时,您可以使用它tearDownClass来关闭它们.setUpClass在运行任何测试之前,为TestCase调用一次.类似地tearDownClass在所有测试运行后调用.文档说明:
SimpleTestCase及其子类(例如TestCase,...)依赖setUpClass()和tearDownClass()来执行某些类范围的初始化(例如覆盖设置).如果您需要覆盖这些方法,请不要忘记调用超级实现:
setUpTestData用于为每个TestCase创建初始测试数据.TestCase.setUpClass()(src)调用此方法setUpTestData如文档中所述,对TestCase调用一次.如果数据库不支持事务,setUpTestData将在每次测试运行之前调用(感谢@Alasdair纠正我)setUp 将在每次测试运行之前调用,并且应该用于为每个测试运行准备测试数据集.使用setUpTestData允许测试性能改进,请注意测试中对此数据的更改将在不同的测试运行之间保持不变.如果需要重新加载,可以通过setUp方法完成.如果用于运行测试的数据库不支持事务,则取消性能改进(setUpTestData在每次测试运行之前调用)