setUpClass、setUpTestData 和 setUp in TestCase class 有什么区别?
What are the differences between setUpClass, setUpTestData and setUp in TestCase class?
更具体地说,每个的用例是什么?
到目前为止我所了解的内容:
设置类
- 此方法在测试中的所有测试之前运行一次class
设置测试数据
- 如果数据库支持事务,则此方法运行一次。否则它会在每次测试之前运行。
设置
- 此方法在测试中的每个测试之前运行 class。
从我上面提到的理解来看,setUpTestData似乎位于setUpClass和setUp之间的区域。为什么我们需要 setuUpTestData 的 class 级别方法,而同样的效果可以通过 setUpClass
或 setUp
或两者的组合来实现?
编辑:Update/Correction 在 Alasdair 的评论之后
设置类
setUpClass
用于执行 class-wide initialization/configuration(例如创建连接、加载网络驱动程序)。例如,当使用 setUpClass
打开数据库 connection/session 时,您可以使用 tearDownClass
关闭它们。
setUpClass
在 运行 任何测试之前为 TestCase 调用一次。类似地,在所有测试具有 运行. 之后调用 tearDownClass
文档注释:
SimpleTestCase and its subclasses (e.g. TestCase, ...) rely on setUpClass() and tearDownClass() to perform some class-wide initialization (e.g. overriding settings). If you need to override those methods, don’t forget to call the super implementation:
设置测试数据
setUpTestData
用于为每个 TestCase 创建初始测试数据。此方法由 TestCase.setUpClass() (src) 调用
setUpTestData
为 TestCase 调用一次,如 documentation 中所述。如果数据库不支持事务,setUpTestData
将在每次测试前调用 运行(感谢@Alasdair 纠正我)
设置
setUp
将在每个测试 运行 之前调用,并且应该用于为每个测试 运行. 准备测试数据集
使用 setUpTestData
可以提高测试性能,请注意,测试中对此数据的更改将在不同的测试 运行 之间持续存在。如果需要重新加载,可以通过 setUp
方法完成。
如果用于 运行ning 测试的数据库不支持事务,则性能改进将被否定(因为 setUpTestData
将在每次测试 运行 之前调用)
更具体地说,每个的用例是什么?
到目前为止我所了解的内容:
设置类
- 此方法在测试中的所有测试之前运行一次class
设置测试数据
- 如果数据库支持事务,则此方法运行一次。否则它会在每次测试之前运行。
设置
- 此方法在测试中的每个测试之前运行 class。
从我上面提到的理解来看,setUpTestData似乎位于setUpClass和setUp之间的区域。为什么我们需要 setuUpTestData 的 class 级别方法,而同样的效果可以通过 setUpClass
或 setUp
或两者的组合来实现?
编辑:Update/Correction 在 Alasdair 的评论之后
设置类
setUpClass
用于执行 class-wide initialization/configuration(例如创建连接、加载网络驱动程序)。例如,当使用setUpClass
打开数据库 connection/session 时,您可以使用tearDownClass
关闭它们。setUpClass
在 运行 任何测试之前为 TestCase 调用一次。类似地,在所有测试具有 运行. 之后调用
tearDownClass
文档注释:
SimpleTestCase and its subclasses (e.g. TestCase, ...) rely on setUpClass() and tearDownClass() to perform some class-wide initialization (e.g. overriding settings). If you need to override those methods, don’t forget to call the super implementation:
设置测试数据
setUpTestData
用于为每个 TestCase 创建初始测试数据。此方法由 TestCase.setUpClass() (src) 调用
setUpTestData
为 TestCase 调用一次,如 documentation 中所述。如果数据库不支持事务,setUpTestData
将在每次测试前调用 运行(感谢@Alasdair 纠正我)
设置
setUp
将在每个测试 运行 之前调用,并且应该用于为每个测试 运行. 准备测试数据集
使用 setUpTestData
可以提高测试性能,请注意,测试中对此数据的更改将在不同的测试 运行 之间持续存在。如果需要重新加载,可以通过 setUp
方法完成。
如果用于 运行ning 测试的数据库不支持事务,则性能改进将被否定(因为 setUpTestData
将在每次测试 运行 之前调用)