我知道这是一个困难而又开放的问题,但我想把它抛出来,看看是否有任何有趣的建议。
我开发了一个代码生成器,它获取我们通过SWIG生成的Python界面到C++代码,并生成将其公开为WebServices所需的代码。当我开发这段代码时,我使用TDD进行了编写,但我发现我的测试非常脆弱。每个测试基本上都想验证对于给定的输入代码(它是一个C++头文件),我将得到特定的输出代码,因此我编写了一个小引擎,从XML输入文件中读取测试定义,并从这些期望中生成测试用例。
问题在于,我非常害怕修改代码。再加上单元测试本身非常复杂且易碎。
因此,我正在尝试思考解决此问题的替代方法,我认为我可能是错误的方式来解决它。也许我需要更注重结果,即:我生成的代码实际上是否运行并执行我想要的操作,而不是代码看起来是否符合我的要求。
是否有人有类似经历,愿意分享一下吗?