为什么 python 在我的测试用例中只有 运行 一个 test_method?
Why does python only run a single test_method in my TestCase?
我有一组基本如下所示的单元测试:
import unittest
class MyTestCase(unittest.TestCase):
def test_one(self):
self.assertEqual(1,1)
def test_two(self):
self.assertEqual(2,2)
if __name__ == '__main__':
unittest.main()
当我 运行 测试时,我希望看到两个 test_methods(test_one 和 test_two)的结果,但我只得到一个结果:
$ python -m unittest -v tests.test_dummy
test_one (tests.test_dummy.MyTestCase) ... ok
----------------------------------------------------------------------
Ran 1 test in 0.000s
OK
这是怎么回事?
哦,这真是令人羞愧。
这是一个缩进问题。测试文件包含制表符和空格的组合,因此无法识别第二个测试。
我从我的真实代码中复制了不可见的故障,到简化的 MyTestCase class 我用来复制错误。但是 Whosebug 去掉了标签,所以没有其他人能够复制。
这是杀死我的代码的错误。选项卡以连字符显示:----
import unittest
class MyTestCase(unittest.TestCase):
def test_one(self):
self.assertEqual(1,1)
----def test_two(self):
--------self.assertEqual(2,2)
if __name__ == '__main__':
unittest.main()
我有一组基本如下所示的单元测试:
import unittest
class MyTestCase(unittest.TestCase):
def test_one(self):
self.assertEqual(1,1)
def test_two(self):
self.assertEqual(2,2)
if __name__ == '__main__':
unittest.main()
当我 运行 测试时,我希望看到两个 test_methods(test_one 和 test_two)的结果,但我只得到一个结果:
$ python -m unittest -v tests.test_dummy
test_one (tests.test_dummy.MyTestCase) ... ok
----------------------------------------------------------------------
Ran 1 test in 0.000s
OK
这是怎么回事?
哦,这真是令人羞愧。
这是一个缩进问题。测试文件包含制表符和空格的组合,因此无法识别第二个测试。
我从我的真实代码中复制了不可见的故障,到简化的 MyTestCase class 我用来复制错误。但是 Whosebug 去掉了标签,所以没有其他人能够复制。
这是杀死我的代码的错误。选项卡以连字符显示:----
import unittest
class MyTestCase(unittest.TestCase):
def test_one(self):
self.assertEqual(1,1)
----def test_two(self):
--------self.assertEqual(2,2)
if __name__ == '__main__':
unittest.main()