我正在尝试运行一个twisted.trial.TestCase,它依赖于我的Python包名为test
的资源文件夹(例如图像)。不幸的是,在运行测试运行器时创建的临时目录(即发出trial test
)并不包含(自然地)整个原始工作目录的副本,并且我的测试失败,因为无法找到图像。软件的功能在很大程度上取决于这些图像,因此它们需要成为测试的一部分。
问题是,有没有办法自定义测试运行器通常从头创建的_trial_temp
目录,以便它包含某些文件和文件夹,除了测试运行程序自己认为需要的内容?
答案 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()
所以请将您的临时目录和示例数据分开。