Vic*_*eau 8 python tdd inner-classes python-unittest
在 Java 中进行单元测试时,通常有一个测试类,其中包含多个内部类,用于测试类的每个方法。每个内部类可以有多个测试方法来测试相关方法的特定功能。
我试图在Python中使用unittest做同样的事情,但似乎内部类的方法没有被执行。例如:
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")
Run Code Online (Sandbox Code Playgroud)
预期行为:
> start outer class
> start inner class
> inner method test completed
> outer method test completed
Run Code Online (Sandbox Code Playgroud)
实际行为:
> start outer class
> start inner class
> outer method test completed
Run Code Online (Sandbox Code Playgroud)
是否也可以使用 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)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4471 次 |
| 最近记录: |