我想生成一些动态数据并将这些数据提供给测试用例。但是我发现Django每次做测试都会初始化测试类。因此每次 django 测试框架调用该函数时都会生成数据。
有没有办法使用单例或静态变量之类的东西来解决问题?应该如何解决?
谢谢!
请您参考如下方法:
这是正常的单元测试行为,虽然您通常会在 setUp() 方法而不是 __init__ 中设置测试数据(并在 tearDown 中销毁它() 也许)。
如果为每个测试用例方法生成动态测试数据需要很长时间,那么我想最好的方法是创建一个单例测试数据类。在这种情况下,您必须注意每个测试方法都将测试数据类保留在它发现它时的完全相同的状态,如果您希望测试用例方法在其中写入一些东西,这就不是微不足道的了;这就是 unittest 尝试为每个测试用例方法重新生成测试环境的原因。
一个改进可能是让单例测试数据类在您每次请求它的实例时返回其自身的深拷贝。
