Это сложный и открытый вопрос, который я знаю, но я подумал, что брошу его на пол и посмотрю, есть ли у кого-нибудь интересные предложения.
Я разработал генератор кода, который переносит наш интерфейс python в наш код C ++ (сгенерированный с помощью SWIG) и генерирует код, необходимый для представления его как WebServices. Когда я разработал этот код, я сделал это с использованием TDD, но я обнаружил, что мои тесты были хрупкими до чертиков. Поскольку каждый тест по сути хотел проверить, что для заданного бита входного кода (который является заголовком C ++) я получу заданный бит выходного кода, я написал небольшой движок, который считывает определения тестов из входных файлов XML и генерирует тест случаи из этих ожиданий.
Проблема в том, что я вообще боюсь изменить код. Это и тот факт, что сами юнит-тесты являются a: сложными и b: хрупкими.
Так что я пытаюсь придумать альтернативные подходы к этой проблеме, и меня поражает, что я, возможно, решаю ее неправильно. Возможно, мне нужно больше сосредоточиться на результате, IE: действительно ли генерируемый мной код выполняется и делать то, что я хочу, вместо того, чтобы код выглядел так, как я хочу.
Есть ли у кого-нибудь опыт чего-то похожего на это, которым он хотел бы поделиться?