为什么python 2.7.9 unittest discovery会运行两次测试?

时间:2017-09-10 02:14:45

标签: python python-unittest

在python 2.7.9中,当测试模块从另一个模块中的测试类继承时,测试发现最终会运行一些测试两次。这是一个错误还是有合理的理由进行两次测试?

$ cat foo/test_foo.py
import unittest

class BaseTestCase(unittest.TestCase):
    pass

class TestFoo(BaseTestCase):
    def test_A(self):
        pass

class TestBar(TestFoo):
    pass

$ cat foo/test_baz.py
import unittest
from test_foo import TestFoo

class TestBaz(TestFoo):
    pass

$ python -m unittest discover  --start-directory foo -v
test_A (test_foo.TestBar) ... ok
test_A (test_foo.TestFoo) ... ok
test_A (test_baz.TestBaz) ... ok
test_A (test_foo.TestFoo) ... ok

----------------------------------------------------------------------
Ran 4 tests in 0.000s

OK

0 个答案:

没有答案