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