Я дивлюся на невелику (~ 70kLOC, включаючи генеровану) C # (.NET 4.0, кілька Silverlight) кодової бази, що має дуже низьке покриття тесту. Сам код працює в тому, що він пройшов тестування на прийняття користувача, але він крихкий і в деяких областях не дуже вдалий. Я хотів би додати суцільне тестове покриття навколо застарілого коду, використовуючи звичайні підозрювані (NMock, NUnit, StatLight для біт Silverlight).
Мій звичайний підхід - почати працювати над проектом, тестуванням блоків та рефакторингом, поки я не буду задоволений станом коду. Я робив це багато разів у минулому, і це добре спрацювало.
Однак цього разу я замислююсь використати тестовий генератор (зокрема Pex ) для створення тестової основи, а потім її вручну розкреслити.
Моє запитання: чи використовували ви генератори тестових одиниць раніше, коли розпочали роботу над застарілою базою кодів, і якщо так, чи рекомендували б ви їх?
Я побоююся, що згенеровані тести пропустять семантичні нюанси бази коду, що призведе до жахливої ситуації наявності тестів заради метрики покриття, а не тестів, які чітко виражають передбачувану поведінку в коді.