gpt4 book ai didi

python - TestCase 类中的 setUpClass、setUpTestData 和 setUp 有什么区别?

转载 作者:太空狗 更新时间:2023-10-29 17:05:43 27 4
gpt4 key购买 nike

更具体地说,每个的用例是什么?

目前我所了解的内容:

设置类

  • 此方法在测试类中的所有测试之前运行一次

设置测试数据

  • 如果数据库支持事务,则此方法运行一次。否则它会在每次测试之前运行。

设置

  • 此方法在测试类中的每个测试之前运行。

从我上面提到的理解来看,setUpTestData 似乎位于 setUpClass 和 setUp 之间的区域。为什么我们需要 setuUpTestData 的类级方法,而同样的效果可以通过 setUpClasssetUp 或两者的组合来实现?

最佳答案

编辑:Alasdair 评论后的更新/更正

设置类

  • setUpClass 用于执行类范围内的初始化/配置(例如创建连接、加载网络驱动程序)。例如,当使用 setUpClass 打开数据库连接/ 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 方法完成。如果用于运行测试的数据库不支持事务,则性能改进将被否定(因为 setUpTestData 将在每次测试运行之前调用)

关于python - TestCase 类中的 setUpClass、setUpTestData 和 setUp 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43594519/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com