小编Sea*_*ean的帖子

运行python单元测试无法在正确的目录中找到我要导入的文件

这是我的代码在下面的代码框中的样子.当我运行它时,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)

如果我将文件放在目录中导入如下,那么它可以正常工作: …

python directory import python-unittest

5
推荐指数
2
解决办法
1576
查看次数

标签 统计

directory ×1

import ×1

python ×1

python-unittest ×1