Python 2.7 防止从子级启动继承的测试方法
我有两个功能测试类Python 2.7 防止从子级启动继承的测试方法,python-2.7,unit-testing,selenium,nosetests,Python 2.7,Unit Testing,Selenium,Nosetests,我有两个功能测试类 class VehicleTest(unittest.TestCase): def setUp(self): self.browser = webdriver.Firefox() def test_math(self): self.assertEqual(1+1, 2) class VehicleTestCase2(VehicleTest): def setUp(self):
class VehicleTest(unittest.TestCase):
def setUp(self):
self.browser = webdriver.Firefox()
def test_math(self):
self.assertEqual(1+1, 2)
class VehicleTestCase2(VehicleTest):
def setUp(self):
super(VehicleTestCase2, self).setUp()
self.do_some_additional_stuff()
def test_another_math(self):
self.assertEqual(2+2, 4)
作为测试运行者,我使用nosetests
。当我进入测试目录中的控制台,键入nosetests
并点击回车键时,我看到3个测试按照这个顺序启动
VehicleTest.test_math, VehicleTestCase2.test_another_math, VehicleTest.test_math
问题:
如何防止从子类启动父类测试?所以我只启动了这些测试
VehicleTest.test_math, VehicleTestCase2.test_another_math
我想从启动中排除继承自
VehicleTestCase2
的测试。拆分VehicleTest
,这样您就有了一个只包含所有类所共有的内容的基类,并创建了一个包含test\u math
的类。比如:
class VehicleTest(unittest.TestCase):
def setUp(self):
self.browser = webdriver.Firefox()
class VehicleTestCase1(VehicleTest):
def test_math(self):
self.assertEqual(1+1, 2)
class VehicleTestCase2(VehicleTest):
def setUp(self):
super(VehicleTestCase2, self).setUp()
self.do_some_additional_stuff()
def test_another_math(self):
self.assertEqual(2+2, 4)
上面代码中的VehicleTest
是您的基类,VehicleTestCase1
是新类
我不建议尝试找到一个技巧,让基类包含一系列测试,这些测试后来在一些派生类中被抑制。这只会模糊代码的逻辑