首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >防止从子测试方法启动继承的测试方法

防止从子测试方法启动继承的测试方法
EN

Stack Overflow用户
提问于 2015-09-10 23:40:21
回答 1查看 24关注 0票数 1

我有两个带有功能测试的类

代码语言:javascript
复制
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并按ENTER键,我看到3个测试按此顺序启动

代码语言:javascript
复制
VehicleTest.test_math, VehicleTestCase2.test_another_math, VehicleTest.test_math

问:如何防止nosetests从子类启动父类测试?所以我只启动了这些测试

代码语言:javascript
复制
VehicleTest.test_math, VehicleTestCase2.test_another_math 

我希望从launch中排除由VehicleTestCase2测试继承的测试。

EN

回答 1

Stack Overflow用户

发布于 2015-09-11 00:39:56

拆分VehicleTest,这样您就有了一个基类,其中只包含所有类的公共部分,然后创建一个包含test_math的类。类似于:

代码语言:javascript
复制
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是新类。

我不建议尝试找到一个技巧,让一个基类包含一系列测试,这些测试后来在一些派生类中被隐藏。这只会模糊你代码的逻辑。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32506220

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档