【发布时间】:2015-05-06 17:33:37
【问题描述】:
我想按照它们的编写顺序运行我的测试,而不是 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
在本例中,我想设置unittest 或nosetests 以按test1、test0、testB 和testA 的顺序运行测试。当我使用带有python -m unittest -v mytestmodule 的命令行运行测试时
或者
nosetests mytestmodule.
为此我应该使用什么命令行参数?
【问题讨论】:
-
你为什么要这样做?
-
有些测试需要按顺序运行,否则它们将没有意义,例如注册和登录,我想先注册,然后使用新注册的凭据登录。 @阿里克
-
当一个测试依赖于另一个测试时,这是一种不好的做法。
-
@dbliss 我已经知道编写测试的好坏习惯,我的问题是另外一回事,我需要知道答案。
-
类是美化的哈希表。通常,他们没有订单。现在,您可以使用
__prepare__()钩子来伪造它,但要支持一些不是最佳实践的东西,这是一项非常艰巨的工作......所以AFAIK unittest 和朋友实际上并没有做所说的工作。
标签: nose pytest nosetests python-unittest python-nose