可读和可维护的验收测试框架

Posted

技术标签:

【中文标题】可读和可维护的验收测试框架【英文标题】:Framework for readable and maintainable acceptance tests 【发布时间】:2013-04-23 15:16:12 【问题描述】:

我正在寻找具有可读语法(如Cucumber 的纯文本规范)但作为内部领域特定语言 (DSL) 的验收测试框架。一开始我在想ScalaTest,但非技术客户如果看到语法就会尖叫!

那么是否有针对可读性进行了优化的验收测试框架,提供内部(理想情况下是类型安全的)DSL 并在 JVM 上运行?

【问题讨论】:

您想要哪种 DSL? Cucumber 的 stepdefs 可以称为 DSL 强调“内部”DSL。 为什么 Cucumber + Capybara 在 step defs 中不适合你? 【参考方案1】:

嗯,对于运行在 JVM 上的类似 Cucumber 的框架,您可以使用 cucumber-jvm。在 github 页面中,有各种 java 和基于 java 的语言的示例,例如 Groovy 和 Scala。

我不太明白您所说的“内部” dsl 是什么意思。 Cucumber-jvm 功能是 .feature 文件中的简单 Given-When-Then 用户故事,为什么它们不符合您的定义?

我一直将它与 Java 和 Junit 一起使用,它几乎和 Cucumber 的 ruby​​ 实现一样简单。

【讨论】:

我已经接受没有办法拥有内部 DSL 和业务用户友好性。即使是class 关键字和花括号也太技术性了。所以确实,我最终得到了 cucumber-jvm。

以上是关于可读和可维护的验收测试框架的主要内容,如果未能解决你的问题,请参考以下文章

Sql 或 Reports 的验收测试

程序员使用啥技术来编写可维护的集成/功能/验收测试?

哪些验收测试框架更适合后端开发?

符合规范的简单验收测试

在项目中途实施单元测试和验收测试

软件项目验收需要的文档 ,谢谢补充