2015-09-10 4 views
1

У меня есть 2 классов с функциональными пробамиПредотвратить унаследовали методы испытаний для запуска с ребенка

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 испытания, где запущен в этом порядке

VehicleTest.test_math, VehicleTestCase2.test_another_math, VehicleTest.test_math 

Вопрос: Как предотвратить nosetests от запуска тестов родительского класса класса ребенка? Так что у меня только эти тесты начали

VehicleTest.test_math, VehicleTestCase2.test_another_math 

Я хочу, чтобы исключить наследуется VehicleTestCase2 испытаний от запуска.

ответ

1

Сплит VehicleTest, так что у вас есть базовый класс, который содержит только то, что является общим для всех классов, и создать класс, содержащий test_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 это новый класс.

Я не рекомендую пытаться найти трюк, чтобы иметь базовый класс, содержащий кучу тестов, которые позже подавляются в некоторых из производных классов. Это просто заслонит логику вашего кода.

 Смежные вопросы

  • Нет связанных вопросов^_^