使用Path上的模块运行py.test的模块导入错误

bea*_*ito 4 python pythonpath pytest python-2.7

我无法以我想要的方式导入我的模块进行测试.我在2.7.2的virtualenv中运行所有这些

我有一个类似的目录结构

/api
    /api
        __init__.py
        my_module.py
    /tests
        my_module_test.py
Run Code Online (Sandbox Code Playgroud)

我将PYTHONPATH设置为/ Path/api /.我将CD转入/ Path/api并运行以下命令

 py.test tests/my_module_test.py   
Run Code Online (Sandbox Code Playgroud)

它在以下情况下不起作用:

  1. 当我在my_module_test.py的顶部有以下内容时 from api.my_module import my_function

它在以下情况下有效:

  1. 当我在my_module_test.py的顶部有以下内容时 from my_module import my_function

为什么我无法像案例1那样导入我的模块?

Chr*_*vet 14

我用PYTHONPATH作为

PYTHONPATH=`pwd` py.test tests/my_module_test.py
Run Code Online (Sandbox Code Playgroud)