在 Java 中进行单元测试时,通常有一个测试类,其中包含多个内部类,用于测试类的每个方法。每个内部类可以有多个测试方法来测试相关方法的特定功能。
我试图用 unittest 在 Python 中做同样的事情,但似乎内部类的方法没有执行。例如:
import unittest
class OuterTestClass(unittest.TestCase):
print("start outer class")
def test_should_do_something(self):
self.assertTrue( True )
print("outer method test completed")
class InnerTestClass(unittest.TestCase):
print("start inner class")
def test_should_do_something(self):
self.assertTrue( True )
print("inner method test completed")
预期行为:
> start outer class
> start inner class
> inner method test completed
> outer method test completed
实际行为:
> start outer class
> start inner class
> outer method test completed
是否可以使用 unittest 执行内部类方法?
最佳答案
您可以在 OuterTestClass 中创建一个新的测试方法,以构建包含在 InnerTestClass 中的所有测试用例的套件。
class OuterTestClass(TestCase):
print("start outer class")
def test_should_do_something(self):
self.assertTrue( True )
print("outer method test completed")
class InnerTestClass(TestCase):
print("start inner class")
def test_should_do_something(self):
self.assertTrue( True )
print("inner method test completed")
def test_inner_test_class(self):
suite = unittest.defaultTestLoader.loadTestsFromTestCase(self.InnerTestClass)
unittest.TextTestRunner().run(suite)
关于python - 如何使用Unittest在Python中编写内部类测试方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56140684/