2010-07-13 4 views
3

Вопрос не о Ruby on Rails, но это рама, в которой мы работаем.Что делать с нерегрессивными тестами?

Мы переносим данные из унаследованной системы в нашу собственную систему и тестируем код, который будет выполнять миграцию данных , Эти тесты проводятся вместе с остальными испытаниями приложений и, таким образом, противоречат нашему серверу сборки на коммиттах и ​​т. Д.

После того, как мы перенесли эти данные, эти тесты нам кажутся бесполезными, поскольку код, который они тестируют никогда больше не будет запущен. Более того, тесты, скорее всего, будут устаревать и могут потребовать обслуживания, чтобы они не нарушили нашу сборку.

Должны ли мы просто выбросить эти тесты после этого? Пометить их каким-то образом, чтобы они не побежали после того, как мы сделали что-то по-настоящему? Что-то другое?

ответ

2

Если бы это был я, я бы выделил проект, который переносит данные вместе с его тестами. Таким образом, тесты не генерируют шум в вашем текущем процессе сборки, и вам нужно только изменить их, если вы (по какой-то причине) снова коснитесь проекта миграции.

Если это невозможно, просто разберите все это, как только вы закончите. Если вам когда-нибудь понадобится вернуть его, он должен находиться в контроле источника ... правильно!?!

+0

Проблема заключается в том, что миграция данных должна быть проверена в отношении проекта, в котором они находятся. IE. мы должны убедиться, что данные, которые мы привезли из старой системы, имеют смысл в нашей нынешней системе, и единственный способ протестировать нашу текущую систему - это провести эти тесты в одном проекте. Мы разветвили работу, которую мы делаем для этой конкретной миграции данных, поэтому у нас будет вся работа и тесты, выполненные в красивом отдельном месте в нашем контроле источника, и поэтому удаление их из нашей основной ветки может быть лучшим вариант. – lambdabutz

3

Избавьтесь от них. *

* Что сказать, пусть они сидят в системе управления версиями, если вы когда-нибудь понадобится, чтобы обратиться к ним.

+2

Я также предлагаю пометить хранилище в тот момент, когда вы удаляете тесты на случай, если вам когда-нибудь понадобится вернуться к ним. Часто бывает так, что вы что-то никогда не потребуете снова, только чтобы снова воскресить его несколько месяцев спустя (было там, сделано). –

Смежные вопросы