2013-07-23 4 views
3

Я использую nose для запуска некоторых системных тестов, одним из которых является проверка наличия файла (config). Если этот файл существует, я бы хотел запустить некоторые дополнительные тесты. Если нет, я бы хотел пропустить кучу тестов.Как включить дополнительные тесты, если проходит тест?

Какой лучший подход принять nose включают дополнительные тесты, если проходит основной тест?

+0

проверить возвращаемое значение операторов assert и установить условное было бы простым способом – Stephan

+1

вы могли бы создать декоратор, где, если файл конфигурации не существует, вызовите unittest .skip – dm03514

ответ

5

Вы можете использовать skipTest от способа установки в конкретной TestCase, как:

import os 
from unittest import TestCase 

class MyTest(TestCase): 
    def setUp(self): 
     if not os.path.exists('configfile'): 
      return self.skipTest('config file not found') 

    def test01(self): 
     # Do something with the file 
     with open('configfile') as fd: 
      self.assertEqual(fd.readlines().__len__(), 0) 

тест test01 не будет работать, если файл конфигурации не существует.

+0

Я считаю, что 'SkipTest' является исключением, которое должно быть поднятым, а не возвращенным. – Dolph

+0

Ой, подождите, вы вызвали метод 'skipTest', неважно! – Dolph

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