Как запустить только интеграционные тесты - PullRequest
0 голосов
/ 18 июня 2020

Есть ли способ запускать только интеграционные тесты, но не модульные тесты?

Я пробовал:

cargo test --tests: запускает модульные + интеграционные тесты

cargo test --test test_name: запускает один указанный тест

В настоящее время невозможно запустить только интеграционные тесты, или я что-то упустил?

1 Ответ

1 голос
/ 21 июня 2020

Дело в том, что Car go на самом деле не различает guish между интеграционными тестами и модульными тестами, поскольку между ними нет реальной разницы с точки зрения того, как вы ими управляете и реализуете; разница чисто семанти c. Не все кодовые базы имеют такое разделение. В книге и справочнике они называются модульными тестами и интеграционными тестами для простоты и во избежание путаницы, но технически такого различия нет.

Вместо разделения тестов на две логические категории в Car go есть гибкая фильтрация. system, которая позволяет запускать тесты только тогда, когда их имя соответствует определенному шаблону. В книге есть раздел, посвященный этой системе. Если вы хотите отфильтровать определенные тесты, потому что они занимали много времени для выполнения или по другим причинам нежелательны для выполнения вместе со всеми остальными, пометьте тест с помощью #[ignore]. В противном случае используйте определенную методологию именования для тестов, чтобы вы могли отфильтровать их по имени.

Справочная страница Car go также упоминает тот факт, что вы можете использовать цель параметры в манифесте Cargo.toml для управления тем, что запускается при использовании --tests.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...