我正在尝试运行一个twisted.trial.TestCase,它依赖于我的Python包test旁边的资源文件夹(例如图像)。不幸的是,在运行测试运行器时创建的临时目录(例如,发出trial test) (自然地)不包括整个原始工作目录的副本,并且我的测试失败,因为找不到图像。该软件的功能在很大程度上依赖于这些图像,因此它们需要成为测试的一部分。
问题是,有没有一种方法可以定制测试运行器通常从头开始创建的_trial_temp目录,以便除了测试运行器自己认为需要的文件和文件夹之外,还包括某些文件和文件夹?
发布于 2015-04-22 10:56:57
不是的。
不要这样做。如果您需要项目中的数据,那么它在任何意义上都不是临时数据。如果您使用--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()因此,请将临时目录和示例数据分开。
https://stackoverflow.com/questions/29755688
复制相似问题