在我看来FitNesse具有以下优势:
让非技术人员定义测试数据集和预期结果(他们如何定义成功)。非技术人员可以是用户,产品经理,也可能是软件质量专业人员,他们无法访问源代码和/或不知道如何使用源语言进行编程。
让非技术人员运行测试,并快速了解被测代码的健康状况。
我正在使用代码库,其中“用户界面”是库中的API,因此只有知道该语言且可以直接访问API的其他技术专业人员才能理解并且相关。我需要选择一种方法来执行集成测试。我对FitNesse很感兴趣,但我不明白为什么我会打扰。这些优点仍然适用于这种情况:
它强制执行定义测试的标准样式,因此需要使用相同代码的其他软件专业人员易于理解。
它让源代码的作者和维护者可以快速查看测试失败的位置以及失败的原因。
测试使用与源代码相同的语言编写,因此不需要单独的专业知识(即perl或python)。
但是,还有其他简单的方法可以实现这些目标,而无需离开代码编辑器。此外,为了运行测试,我没有看到将FitNesse测试绑定到自动化系统的方法,例如让持续集成服务器使用新版本运行它们。我也没有看到如何在开发平台以外的硬件平台上运行FitNesse测试,因此他们不会遇到时间问题。
那么,如果您在“用户”与您一样技术的环境中使用FitNesse,为什么?如果你尝试了并决定反对它,你的理由是什么?
如果您使用FitNesse测试用于单独专有硬件(嵌入式系统)的代码,那么它是如何工作的?
答案 0 :(得分:0)
我完全赞同你的断言,难以融入自动构建系统是一个严重的缺陷(将上面的评论扩展到答案),因此我选择使用Fit for C ++的替代实现, CeeFit。托管CeeFit文档的原始网站(ceefit.woldrich.com)已经停止了好几个月,但现在似乎已经恢复了。 CeeFit可以轻松实现自动化并集成到任何CI中,但CruiseControl.NET可接受的任何格式都缺少输出,例如:至于CeeFit是否可以在嵌入式系统上运行不确定,文档中没有提到任何内容。