0

unittest我想按它们的顺序运行我的测试,而不是按默认的字母顺序编写。

import unittest

class test2(unittest.TestCase):

   def test1(self):
      pass

   def test0(self):
      pass

class test1(unittest.TestCase):

   def testB(self):
      pass

   def testA(self):
      pass

在此示例中,我想按 test1、test0、testB 和 testA 的顺序设置unittestnosetests运行测试。python -m unittest -v mytestmodule 当我使用带有OR 的命令行运行测试时 nosetests mytestmodule

为了这样做,我应该使用什么命令行参数?

4

2 回答 2

0

没有这样的命令行参数。你有几个选择:

1)重命名你的测试。在您的示例中,您所要做的就是切换test1and的名称test0这个建议之前已经提出。

2) 使用此链接的插件。

于 2015-05-07T01:30:49.870 回答
0

我使用此处提供的 PyTest 订购插件找到了解决方案。

我使用运行测试py.test MyTestModule.py -vv,结果如下,测试按出现的顺序运行:

MyTestModule.py::test2::test1 PASSED
MyTestModule.py::test2::test0 PASSED
MyTestModule.py::test1::testB PASSED
MyTestModule.py::test1::testA FAILED
于 2015-05-07T17:30:42.633 回答