这是我的代码在下面的代码框中的样子.当我运行它时,my_dir和network_json的结果分别为:
my_dir:C:\ Users\sepham\My Documents\LiClipse Workspace\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工作区\ 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))
Run Code Online (Sandbox Code Playgroud)
打印声明的结果:
======================== 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
Run Code Online (Sandbox Code Playgroud)
问题是我需要为Python单元测试设置什么环境变量或设置,以便它可以在以下位置的正确目录中查看我的文件:
C:\ Users\sepham\Documents\LiClipse工作区\ 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
Run Code Online (Sandbox Code Playgroud)
如果我将文件放在目录中导入如下,那么它可以正常工作: …