Если у вас есть проект, у которого есть тесты, которые выполняются как часть процедуры сборки на компьютере сборки, если набор тестов не пройден, должна ли вся сборка быть неудачной?
Что нужно учитывать при ответе на этот вопрос? Имеет ли значение, какие тесты не пройдены?
Справочная информация, которая вызвала этот вопрос:
В настоящее время я работаю над проектом, в котором есть NUnit тестов, которые выполняются как часть процедуры сборки и выполняются на нашей машине круиз-контроля .net .
Раньше проект настраивался таким образом, что при сбое каких-либо тестов сборка завершается неудачно. Причина в том, что если тесты не пройдены, это означает, что продукт не работает / не завершен / это провал проекта, и, следовательно, сборка должна завершиться неудачей.
Мы добавили некоторые тесты, которые, хотя они и не проходят, они не имеют решающего значения для проекта (подробнее см. Ниже). Поэтому, если эти тесты не пройдены, проект не является полным провалом, и мы все равно хотим его построить.
Один из проходящих тестов проверяет, что неправильные аргументы приводят к исключению, но тест не проходит, это тот, который проверяет, что все разрешенные аргументы не приводят к исключению. Таким образом, класс отклоняет все недопустимые случаи, но также и некоторые допустимые. Это не является проблемой для проекта, так как отклоненные действительные аргументы являются крайними случаями, на которые приложение не будет опираться.