Тестовый случай — это единица исполнения, которая управляетсяпробным бегуном. Он содержит инструкции иутверждения, и его выполнение контролируется.Единая система испытаний. Информация о выполнении записывается, и создается журнал / отчет.
Тестовый бегун должен быть проинформирован о тесте, чтобы запустить его: тест-кейс должен быть зарегистрировандля его включения втестовое дерево.
.Единичная система испытанийохватывает следующие сценарии испытаний:
- тестовые случаи без параметров: Они похожи на выполнение функции в контролируемой среде бегуна-испытателя.
- тестовые случаи с параметрами: это использование предназначено для запуска одной и той же функции с потенциально большим количеством различных параметров, каждый вызов с различным параметром, обрабатываемым бегуном-испытателем.
- тестовые примеры на шаблоне: сценарий заключается в проверке одной и той же реализации шаблона по нескольким типам.
Тестовый корпус имеет разныедекларацииAPI для каждого из вышеуказанных сценариев. Предпочтительные API-интерфейсы объявят тест-кейс и автоматически зарегистрируют его в тестовом дереве без необходимости ручной регистрации.
В то время как автоматическая регистрация является предпочтительным API для объявления тестовых случаев, также можно декларировать тесты вручную. Для этого APIUnit Test Frameworkвыбрал наименее навязчивую конструкцию, основанную наобщем подходе к обратному вызову, подписи которого зависят от того, будет ли заявлен король тестового случая.
Единый испытательный модуль может сочетать как автоматическую, так и ручную регистрацию тестового случая. Другими словами, в одном и том же тестовом модуле можно иметь как тестовые кейсы, реализованные удаленно и зарегистрированные вручную в функции инициализации тестового модуля, так и тестовые кейсы, которые регистрируются автоматически в точке реализации.
![[Caution]](/img/caution.png) |
Caution |
Конструкция ручного объявления теста API вЕдиничная система испытанийпредполагает реализацию тестового случая (орган функции тестирования), а точки создания/регистрации тестового случая являются удаленными. В результате вы можете забыть зарегистрировать тестовый случай, и он никогда не будет выполнен, даже если он присутствует в тестовом файле. |
Вы должны быть уверены, что вы исчерпали все возможные способы использования автоматических регистрационных API, прежде чем использовать ручную регистрацию. В частности:
- Если вам нужно дополнительно включить / исключить некоторые из тестовых случаев, рассмотрите возможность использования декораторов «Включить / отключить / включить».
- Если вам нужно зарегистрировать некоторые параметризованные тестовые случаи на основе некоторых данных, рассмотрите тестовые случаи на основе данных.
- Если вам нужно указать сложные зависимости от тестового блока, вы можете использовать вместо этого Depends_on
- Если вам нужно поделиться логикой между тестовыми блоками, подумайте об использовании светильников вместо этого.