如何在PyCharm中运行nosetest?
如何在PyCharm中执行nosetest来运行所有单元测试?
我知道PyCharm支持Python的unittest和py.test,并且在PyCharm 1.1版本中会正确支持nosetests,但我想知道有没有其他的解决办法。
3 个回答
2
这件事很简单就能做到……
我假设你已经安装了nose这个工具。
而且你的项目结构应该是这样的:
\MyProj_Source
\MyProj
init.py
MyProj.py
我们需要创建一个Tests文件夹(是的,这个名字很重要)。然后在这个Tests文件夹里放我们的nose测试文件。所以文件夹的结构看起来是这样的。
\MyProj_Source
\MyProj
init.py
MyProj.py
\Tests
test_stuff.py
到这一步,你需要去
偏好设置 -> 工具 -> Python集成工具 ** 然后把 **默认测试运行器设置为nose
现在你应该可以:
手动
- 使用nose运行test_stuff.py文件
- 为MyProj.py文件启用自动测试,这样每次修改后都会自动运行测试
第二种方法是最好的选择,但可能会花一些时间。
希望这对你有帮助。
2
如果你不需要图形化的测试运行器,可以简单地创建一个“Python脚本”的运行配置,然后像在命令行中那样运行测试。
不过,如果想要在图形化测试运行器中使用nose测试,恐怕只能修改PyCharm安装包里的helpers/pycharm/utrunner.py文件。
41
在当前版本的Pycharm(2.6)中,测试文件上应该有一个右键菜单选项“在...中运行Nosetests”。如果这个选项没有出现,可以去 文件->设置->项目设置->Python集成工具
,确保默认的测试运行器是Nosetests。当然,你需要先安装Nosetests,如果没有安装,Pycharm会提示你安装。
不过,这里有个限制。如果你要测试的文件里没有从unittest.TestCase类派生的类,它就不会自动显示这个选项。如果你使用的是nose.tools或者简单的断言,它也不会自动提供这个选项。这可能是个bug。