问题
作为 python unittest 的一部分,将加载一些输入 json 文件,这些文件存在于“data”目录下,该目录位于与测试 py 文件相同的目录中。
'pkg_resources' 用于此目的。
当 unittest 使用 python 运行时,它工作正常。但是在运行扭曲试验时它会失败。
我的项目混合了测试用例与 python unittest 测试用例以及 twisted.trial.unittest 测试用例。因此,通常需要使用扭曲试验运行两种类型的测试用例。
运行带有扭曲试验的测试用例时,会在路径中添加“_trial_temp”目录。请让我知道有什么办法可以解决这个问题吗?
示例目录结构:
myproject/
└── tests
├── data
│ └── input.json
├── trialTest.py
试验测试.py
import unittest
import inspect
import pkg_resources
class Test(unittest.TestCase):
def test_01_pathTest(self):
dataDirExists = pkg_resources.resource_exists(inspect.getmodule(self).__name__, 'data')
print 'data exists: %s' % (dataDirExists)
if __name__ == '__main__':
unittest.main()
使用 python 及其输出运行测试:
cd myproject
python tests/trialTest.py
data exists: True
.
----------------------------------------------------------------------
Ran 1 test in 0.000s
OK
使用 python 及其输出运行测试:
cd myproject
/usr/local/bin/trial tests/trialTest.py
trialTest
Test
test_01_pathTest ... data exists: False
[OK]
-------------------------------------------------------------------------------
Ran 1 tests in 0.013s
PASSED (successes=1)