Могу ли я написать тест без каких-либо утверждений в нем?

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

Например, как тест с простым запросом выбора, чтобы убедиться, что конфигурация базы данных правильная. Поэтому, когда я изменяю некоторую db-конфигурацию, я повторно запускаю этот тест и проверяю, правильна ли конфигурация.

Спасибо!

12 голосов | спросил stratwine 25 Mayam10 2010, 00:04:51

5 ответов


0

Совершенно верно убедиться, что модульный тест выполняется без исключения.

В соответствии с предложением Мэтта B , обязательно документируйте, что тест на самом деле тестирует, чтобы быть понятным и точный.

ответил Kyle Rozendo 25 Mayam10 2010, 00:06:52
0

Конечно, ты можешь это сделать. Также прекрасно написать тест без утверждений, где ожидаемый результат - исключение. Я знаю, что testng позволит вам указать исключение, которое должно быть сгенерировано, и тест не пройдёт, если ожидаемое исключение не будет сгенерировано.

ответил Mattias Nilsson 25 Mayam10 2010, 00:10:37
0

Тестирование - это действительно субъективное обсуждение. Некоторые люди скажут нет, у вас всегда должен быть синтаксис AAA. Лично я написал тесты, которые делают вещи, очень похожие на то, о чем вы говорите, так что я бы сказал, конечно, продолжайте - если это поможет вам создать более стабильное приложение, то почему бы и нет.

Например, в NUnit я считаю [ExpectedException typeof (XXXX)] логически эквивалентным Assert.

Кроме того, в некоторых тестах вы можете ничего не утверждать, но ожидать определенного порядка выполнения с помощью Mocks и Expected.

ответил JoshReedSchramm 25 Mayam10 2010, 00:08:30
0

Конечно, приемлемо написать модульный тест, который не имеет никаких утверждений. Вы можете сделать это для:

  • Тестирование дела, которое заканчивается без исключения. В этом случае, если вы можете, хорошо одеть тест с определенным типом исключения, как в [ExpectedException (MyException)].

  • Тестирование функции уже есть. Даже если нет вероятности, что тест может сгенерировать исключение, вы можете сделать этот тест неудачным, если кто-то решит удалить эту функцию. Если в тесте используется метод и метод удален, его просто не удастся построить.

ответил Gorkem Pacaci 25 Mayam10 2010, 00:13:22
0

Цель теста - проверить, есть ли у «X» «ожидаемое что-то», чтобы проверить, правильно ли «ожидаемое что-либо» утверждать, ожидать или проверять. Вот почему большинство фреймворков реализует эти методы тем или иным способом

ответил Rodislav Moldovan 6 J000000Thursday17 2017, 09:32:21

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132