如何在Twisted Trial中自定义临时目录

时间:2015-04-20 18:31:20

标签: testing integration-testing twisted

我正在尝试运行一个twisted.trial.TestCase,它依赖于我的Python包名为test的资源文件夹(例如图像)。不幸的是,在运行测试运行器时创建的临时目录(即发出trial test)并不包含(自然地)整个原始工作目录的副本,并且我的测试失败,因为无法找到图像。软件的功能在很大程度上取决于这些图像,因此它们需要成为测试的一部分。

问题是,有没有办法自定义测试运行器通常从头创建的_trial_temp目录,以便它包含某些文件和文件夹,除了测试运行程序自己认为需要的内容?

1 个答案:

答案 0 :(得分:2)

没有

不要这样做。如果您需要项目中的数据,那么它不是临时数据。如果您使用--temp-directory将目标指向某个目录,则会认为它实际上是"临时"并将它吹走。相反,您应该访问相对于测试路径的数据。

如果您将示例数据放入与测试相同的目录中,并将其视为package_data,则可以执行以下操作:

from twisted.python.modules import getModule
thisModule = getModule(__name__)
dataPath = thisModule.filePath.parent()

并在测试中获取数据:

fileobj = dataPath.child("sample_file.data").open()
databytes = dataPath.child("other_file.txt").getContent()

所以请将您的临时目录和示例数据分开。