Kar*_*ran 1 python unit-testing
我在eclipse中开发python.因此,python src文件和测试文件位于不同的目录中.
问题是:我们如何在测试文件夹中运行命令行特定的测试文件?这些显然取决于src文件夹中的文件.
干杯
编辑:如果我跑
python test/myTestFile.py
Run Code Online (Sandbox Code Playgroud)
我得到依赖性错误,例如.ImportError:没有名为SrcFile1的模块
您需要确保正确设置了PYTHONPATH,以便命令行解释器可以找到您的包,或者从Eclipse Pydev中运行您的测试用例.更新:另一个选择:使用nose运行测试可能会使事情变得更容易,因为它可以自动发现包和测试用例.
如果您的项目布局如下:
/home/user/dev/
src/pkg1/
mod1.py
test/
mod1_test.py
Run Code Online (Sandbox Code Playgroud)
使用:PYTHONPATH=$HOME/dev/src python test/mod1_test.py.我还建议使用distribute和virtualenv设置您的项目进行开发.
更新以回应评论中的问题:
这显示了PYTHONPATH环境变量如何扩展Python的包sear ch路径:
% PYTHONPATH=foo:bar python -c 'import sys; print sys.path[:3]'
['', '/home/user/foo', '/home/user/bar']
# exporting the variable makes it sticky for your current session. you can
# add this to your shell's resource file (e.g. ~/.profile) or source
# it from a textfile to save typing:
% export PYTHONPATH=bar:baz
% python -c 'import sys; print sys.path[:3]'
['', '/home/user/foo', '/home/user/bar']
% python -c 'import sys; print sys.path[:3]'
['', '/home/user/foo', '/home/user/bar']
Run Code Online (Sandbox Code Playgroud)
以上内容可以让你在短期内上路.使用distribute和virtualenv可以获得更高的一次性设置成本,但是使用它们可以获得长期的好处.当你有机会的时候,阅读一些关于SO的教程来设置它们,看看它们是否适合你的项目.
| 归档时间: |
|
| 查看次数: |
2917 次 |
| 最近记录: |