在我看来,FitNesse有以下优点:
让非技术人员定义测试数据集和预期结果(他们如何定义成功)。非技术人员可能是用户、产品经理,或者可能是无法访问源代码和/或不知道如何使用源语言编程的软件质量专家。
让非技术人员运行测试并快速了解被测代码的健康状况。
我正在使用一个代码库,其中“用户界面”是库中的 API,因此它是可以理解的,并且仅与了解该语言并可以直接访问 API 的其他技术专业人员相关。我需要选择一种方法来执行集成测试。我对 FitNesse 很感兴趣,但我不明白我为什么会打扰。这些优势在这种情况下仍然适用:
它强制执行定义测试的标准样式,因此需要使用相同代码的其他软件专业人员很容易理解它们。
它让源代码的作者和维护者可以快速查看测试失败的地方以及失败的原因。
测试是用与源代码相同的语言编写的,因此不需要单独的专业知识(即 perl 或 python)。
但是,还有其他简单的方法可以实现相同的目标,而无需离开您的代码编辑器。此外,为了运行测试,我看不到将 FitNesse 测试绑定到自动化系统中的方法,例如让持续集成服务器使用新版本运行它们。我也看不到如何在开发平台以外的硬件平台上运行 FitNesse 测试,因此他们不会发现时间问题。
因此,如果您在“用户”和您一样具有技术能力的环境中使用 FitNesse,为什么?如果您尝试过并决定反对,您的理由是什么?
如果您使用 FitNesse 测试用于单独的专有硬件(嵌入式系统)的代码,它是如何工作的?