使用PyUnit运行所有TestCase

时间:2012-06-07 20:23:18

标签: python unit-testing python-unittest

我记得在JUnit中有一种方法可以运行您创建的每个TestCase,或者只运行选定文件中的那些。

有没有办法在PyUnit中实现这个目标?

我可以轻松运行当前打开的文件中的测试,但我想选择运行所有测试(分布在不同的文件中)。

我见过TestSuite,但我的理解是,每次创建新的TestCase时都需要手动将TestCase添加到TestSuite。我希望自动完成这项任务。

例如,我有以下TestCases(每个都有几个test<Method Name>方法):

class TestFamily(unittest.TestCase)
class TestFamilyMember(unittest.TestCase)

如何在TestFamilyTestFamilyMember中运行所有测试?

替代

查看nosetests

3 个答案:

答案 0 :(得分:1)

您是否尝试在test discovery mode中运行unittest?

在项目目录中,键入python -m unittest discover。这将运行可直接导入当前目录的文件中的所有测试。

从PyUnit / unittest文档中,为此起作用:

  

为了与测试发现兼容,所有测试文件必须是可从项目的顶级目录导入的模块或包

答案 1 :(得分:0)

此外,如果您将所有测试都放在一个文件夹中,请右键单击该文件夹并转到Run As

pyunit测试应该有一个选项(名称可能因您的配置而异,我的显示Python单元测试。您可以从下一个选项(Run AsRun Configurations)更改配置。

编辑:另外,请检查unittest文档http://docs.python.org/py3k/library/unittest.html?highlight=unittest#unittest。 IIRC,你可以将测试套件附加到另一个测试套件(与套件附加测试的方式相同)。

答案 2 :(得分:0)

是的,有一种方法可以在PyUnit中使用TestLoader运行所有测试用例

注意:确保所有测试方法都以注释测试开始

希望这个博客可以帮到你!

http://scriptforandroid.blogspot.in/2017/04/python-unittest-pyunit.html?m=1