这是我的代码在下面的代码框中的样子。当我运行它时,my_dir和network_json的结果分别是:
my_dir:C:\ Users \ sepham \ My Documents \ LiClipse工作区\ sengtool_data_funnel
network_json:
C:\ Users \ sepham \ My Documents \ LiClipse Workspace \ sengtool_data_funnel \ example_EventsOfInterestColumnAggregate.json
但是我的test_json_networks.py文件的项目目录结构如下:
C:\ Users \ sepham \ Documents \ LiClipse Workspace \ sengtool_data_funnel \ tests \ test_networks
json_files_input = [
'example_EventsOfInterestColumnAggregate.json',
'example_EventsOfInterestConcatenate.json']
@pytest.mark.parametrize('network_json', json_files_input)
def test_network_jsons(network_json):
my_dir = os.path.dirname(os.path.abspath(network_json))
network_json = os.path.join(my_dir, network_json)
print my_dir
print network_json
with open(network_json) as jdata:
network = Network.load(json.load(jdata))
打印语句的结果:
======================== CAPTURED OUTPUT =========================
C:\Users\sepham\My Documents\LiClipse Workspace\sengtool_data_funnel
C:\Users\sepham\My Documents\LiClipse
Workspace\sengtool_data_funnel\example_EventsOfInterestColumnAggregate.json
问题是我需要为Python单元测试设置什么环境变量或设置,以便它可以在以下位置的正确目录中查看我的文件:
C:\ Users \ sepham \ Documents \ LiClipse Workspace \ sengtool_data_funnel \ tests \ test_networks
顺便说一句,我正在使用LiClipse IDE。
另外,这是运行python单元测试时的错误消息,因为它看不到要导入的文件:
E IOError: [Errno 2] No such file or directory: 'C:\\Users\\sepham\\My
Documents\\LiClipse
Workspace\\sengtool_data_funnel\\example_EventsOfInterestCo
lumnAggregate.json'
File "C:\Users\sepham\My Documents\LiClipse
Workspace\sengtool_data_funnel\tests\test_networks\test_json_networks.py",
line 58 IOError
如果我将要导入的文件放在目录中,如下所示,那么它将正常工作:
C:\ Users \ sepham \ My Documents \ LiClipse Workspace \ sengtool_data_funnel
好吧,在为此花了很多时间之后,我终于想出了自己的答案。如果要在主项目目录的子目录中导入文件进行测试,则需要在LiClipse IDE中执行以下操作。
右键单击test_name.py文件
运行方式>>运行配置
选择你的文件名
(x)=参数标签
工作目录>>文件系统
选择你的目录
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句