我在做鼻子测试时出了点问题。当我在Eclipse中运行我的套件时,使用Run As>Python unit-test并将测试运行器设置为Nose test runner,在Eclipse的PyDev>PyUnit首选项中使用arguments --verbosity=2 --processes=2 --process-timeout=300,我得到了一个很好的、有序的运行,其中4个新的python进程开始旋转,并且我在几分钟内就得到了19个测试(一个派生自object的类,其中有2个测试生成器方法,第一个分派6个测试,第二个13个)的结果(每个测试都进行了一系列REST调用,然后进行一些验证)。然而,当我从命令行使用nosetests --processes=2 --verbosity=2 --process-timeout=300 testfile.py运行相同的文件时,它产生了100个新的Python进程,这些进程似乎是按组组织的,其中一个进程的内存使用量略高于6k,其他进程的内存使用量为50-500k。这些进程一直在无限期地产生,并且测试永远不会完成,直到我开始手动终止这些进程。如果我在不使用多进程的情况下从命令行运行测试,它们也可以很好地完成。
Eclipse是否对测试流程进行了一些额外的限制?我是否有可能在Eclipse和命令行中运行不同版本的Nose (尽管我只在site-package中看到了一个nose安装)?
发布于 2017-02-16 22:31:43
试着玩一下:
_multiprocess_can_split_
and
_multiprocess_shared_在你的测试类中。
文档:http://nose.readthedocs.io/en/latest/doc_tests/test_multiprocess/multiprocess.html
https://stackoverflow.com/questions/12514845
复制相似问题