2010-04-05 126 views
2

我想生成一些动态数据并将这些数据输入到测试用例中。但是我发现Django每次都会首先进行测试,以便进行测试。所以每次django测试框架调用函数时都会生成数据。单元测试在Django。静态变量加入测试用例

有无论如何使用像单身或静态变量来解决问题?应该是什么解决方案?

谢谢!

回答

3

这是正常的单元测试行为,尽管您通常会在setUp()方法中设置测试数据而不是__init__(也可能在tearDown()中销毁它)。

如果生成动态测试数据需要很长时间才能执行每个测试用例方法,那么我想最好的方法是创建一个单例测试数据类。在这种情况下,您必须注意每种测试方法都会将测试数据类置于与其找到的状态完全相同的状态,如果您希望测试用例方法在其中写入某些内容,这并不是微不足道的;这就是为什么unittest试图为每个测试用例方法重新生成测试环境的原因。

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

+0

谢谢!我在创建一个单身人士之前,你回答了,它的工作。你刚刚证明我的方法! – zsong 2010-04-05 20:20:21