В одном из моих проектов я должен сотрудничать с несколькими системами бэкенда. Некоторым из них несколько недостает документации, и частично поэтому у меня есть некоторый тестовый код, которые взаимодействуют с некоторыми тестовыми серверами только, чтобы видеть, что все работает как ожидалось. Однако доступ к этим серверам является довольно медленным, и поэтому я не хочу запускать эти тесты каждый раз, когда я выполняю свой набор тестов.
Мой вопрос состоит в том, как справиться с ситуацией, где Вы хотите пропустить определенные тесты. В настоящее время я использую переменную среды 'BACKEND_TEST' и условный оператор, который проверяет, установлена ли переменная для каждого теста, я хотел бы пропустить. Но иногда я хотел бы пропустить все тесты в тестовом файле, не имея необходимость добавлять дополнительную строку к началу каждого теста.
Тесты, которые должны взаимодействовать с тестовыми серверами, не являются многими, поскольку я использую flexmock в других ситуациях. Однако Вы не можете дразнить себя далеко от действительности.
Как Вы видите из заголовка этого вопроса, я использую Тест:: Единица. Кроме того, если это имеет какое-либо значение, проект является проектом направляющих.
Новые возможности Test Unit 2.x предполагает, что test-unit 2.x (версия gem, а не стандартная библиотека ruby 1.8) позволяет вам пропускать тесты.