Думая об этом вопросе в языковой агностике, рамочной агностик манеры доходности, что вы запрашиваете несколько головоломка:
тест инструмент не будет иметь ни малейшего представления о время выполнения любых из блок тестирует, пока они не будут запущены; потому что это зависит не только от тестового инструмента и самих тестов, но и от тестируемого приложения. Решение стоп-лома в этом случае будет заключаться в том, чтобы делать такие вещи, как установление ограничения по времени. Если вы это сделаете, то возникает вопрос, когда тест истекает, должен ли он быть передан, не прошел или, возможно, попадет в какую-либо другую (третью) категорию? ... Загадка!
Таким образом, чтобы избежать этого, я предлагаю вам принять другую стратегию, когда вы, как разработчик, решаете, какие подмножества всего набора тестов вы хотите запускать в разных ситуациях. Например:
- Набор дым испытания;
- Тестирование, которое вы хотели бы запустить сначала все время. Если какой-либо из них не работает, вы не хотите беспокоиться о выполнении любого из тестов. Поместите только действительно основные тестов в этой группе.
- A минимальный комплект тестов;
- Для Вашего конкретного требования, это будет набор тестов, содержащих все «быстрых» или «быстрых» испытаний, и определить, какие из них они.
- A комплект тестов;
- Тесты, не относящиеся к какой-либо из других категорий. Для вашего конкретного требования это будут тесты, которые являются «медленными» или «длинными» единицами.
При выполнении ваших тестов, вы можете выбрать, какие из этих подмножеств тестов для запуска, возможно, настраивая его в какой-либо форме сценария.
Я использую этот подход с большим эффектом в автоматическом тестировании (интегрированном в систему непрерывной интеграции). Я делаю это, имея сценарий, который, в зависимости от входных параметров, решил бы либо выполнить только дым тестов плюс минимальные тесты; или, альтернативно, испытания , минимальные тесты и испытания (т. е. все).
НТН
Как долго длится время? Не могли бы вы сделать тесты быстрее? Это намного лучше, если вы можете регулярно запускать все свои тесты и каждый из них может быть выполнен быстро. В противном случае вы, вероятно, забудете выполнить те, продолжительность которых слишком велика. –
Я знаю, но тесты хорошие, и я хочу как-то пропустить их по умолчанию при ручном запуске теста и позволить серверу запускать их после проверки. –
Например, хороший тест, который занимает много времени, - это сборка калибровочной проверки для события EventChanged, которая занимает 3 секунды. –