关于单元测试:是否有跨语言TDD解决方案?

关于单元测试:是否有跨语言TDD解决方案?

Is there a cross-language TDD solution?

我想在C#,Java和AS3中编写一个简单的颜色管理框架。 我只想编写一次单元测试,而不是在JUnit,FlexUnit和NUnit中重新创建单元测试。

我想到了一个xml文件的想法,该文件通过setup,teardown和set tests来定义基于"实例"状态的"实例"和断言的操作。 然后有一个实用程序可以将该XML转换为xUnit代码,用于任意数量的xUnits。 在我开始浪费时间开发这样的解决方案之前,我想确保没有类似的解决方案已经存在。


FIT / Fitnesse会适合你想要的吗?

FIT是一个验收测试框架,而不是单元测试框架,但根据您的描述,您希望确保三个实现具有相同的行为而不是相同的设计。

FIT有几种语言的链接


作为旁注,您也可以尝试编写各种编译器,就像FogCreek(in)着名的Wasabi语言一样,然后您可以用该语言编写代码和测试,并让编译器完成您的工作....当然可能会过于复杂,但我认为这比尝试定义XML测试语言要好得多......并且可能更具可读性。


我认为你的事情过于复杂......你可能会考虑使用一种脚本语言来对抗所有人3.我知道Ruby可以用来通过JRuby测试Java,而C#通过IronRuby来测试,但我不知道AS3。

我自己从来不需要这样做,但我想像Ruby这样的动态语言真的可以让你在没有太多额外工作的情况下完成它。


您还可以使用Slim查看Fitnesse,因为Slim应该更轻量级地实现新语言(AS3)。我想这更像是接受/集成测试而不是单元测试,但值得研究。


推荐阅读