代码之家  ›  专栏  ›  技术社区  ›  zs2020

Django的Unittest。输入测试用例的静态变量

  •  2
  • zs2020  · 技术社区  · 16 年前

    我想生成一些动态数据并将这些数据输入到测试用例中。但是我发现Django每次都会初始化测试类来做测试。因此,每次django测试框架调用函数时都会生成数据。

    谢谢!

    1 回复  |  直到 16 年前
        1
  •  3
  •   Mihai Damian    16 年前

    这是正常的unittest行为,尽管您通常会在 setUp() __init__ (并在 tearDown() 也许)。

    如果为每个测试用例方法生成动态测试数据需要很长时间,那么我想最好的方法是创建一个单例测试数据类。在这种情况下,您必须注意每个测试方法都使测试数据类保持与它发现的状态完全相同的状态,如果您希望您的测试用例方法在其中编写某些内容,这一点并不重要;这就是为什么unittest尝试为每个测试用例方法重新生成测试环境的原因。

    一个改进可能是让singleton测试数据类在每次请求它的实例时都返回它自己的深度副本。