Модульное тестирование с зависимостями между тестами

Как вы проводите модульное тестирование, когда у вас есть

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

Чтобы дать пример, представьте, что тестируете CSV-ридер (я только что придумал обозначение для демонстрации),

def test_readCsv(): ...

@dependsOn(test_readCsv)
def test_readCsv_duplicateColumnName(): ...

@dependsOn(test_readCsv)
def test_readCsv_unicodeColumnName(): ...

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

Я нашел эти связанные, но разные вопросы,

ОБНОВЛЕНИЕ:

Я нашел TestNG , который имеет отличную встроенную поддержку тестовых зависимостей. Вы можете написать такие тесты,

@Test{dependsOnMethods = ("test_readCsv"))
public void test_readCsv_duplicateColumnName() {
   ...
}
24
задан Hubbitus 27 August 2019 в 23:19
поделиться