pytest当从父目录运行测试时,如何在测试目录中定位conftest.py的输入文件

问题描述:

在测试目录中有2个子目录,例如tests/api和tests/sanity。注意tests/api具有conftest.py,它可以在tests/api目录中找到input.conf。注意从测试/ API运行测试正常工作。但是从父目录的测试运行的测试,它失败: py.test --test_option = input.conf中 用法:py.test [选项] [file_or_dir] [file_or_dir] [...]pytest当从父目录运行测试时,如何在测试目录中定位conftest.py的输入文件

py.test :错误:没有这样的选项:--test_option

有人可以请说明我如何构建我的测试,所以这将工作? 我也试过指定如下的测试目录,但它找不到input.conf。 py.test --test_option = input.conf中的API/test_api.py

èIO错误:[错误2]没有这样的文件或目录: 'input.conf中'

假设你的语法是正确的(你是我想调换名和文件扩展),你只需要指定文件的位置正确,包括相对或绝对路径:

相反的:

py.test --test_option=input.conf 

做:

py.test --test_option=api/input.conf 
+0

太好了。这工作。 py.test --test_option = api /input.conf api/test_api.py。一个后续问题是,如果我有多个包含测试的目录,并且每个目录都有自己的input.conf文件,我想运行它们。这可能吗? – 2012-08-01 00:45:40

+0

是的,但你需要稍微改变一个程序。看看这些文件/目录函数http://docs.python.org/library/os.html#files-and-directories,并接受答案,如果你对它感到满意(或问你许多Python问题:-)) – Edmon 2012-08-01 00:57:54