gpt4 book ai didi

java - 用动态 JVM 语言补充 JUnit 测试电池

转载 作者:行者123 更新时间:2023-12-03 22:58:55 24 4
gpt4 key购买 nike

我想开始将一系列冗长的单元测试(大型 json、无法嵌入标准 Java、大量 bean 字段检查)移植到更具表现力的语言(如 Clojure、Groovy、Jython)中。

根据我的经验,应该能够补充标准 Java 源代码的语言是 Clojure 和 Groovy。可能这里可以使用 Rhino 或 BeanShell,但我对这些没有经验......

欢迎提出其他建议:

我的要求是:

1) 该语言必须按原样在与我的 Java EE 代码相同的环境中运行。

2) 语言必须能够在字符串中嵌入大的多行文本。

3) 语言的单元测试必须像正常的 JUnit 测试一样由 ANT 和 Maven junit 任务/目标本地运行。

4) 语言的单元测试必须能够调用常规代码并使用我的源代码库中的依赖项(即它必须能够访问我的常规 junit 测试包所做的类路径上的类),没有问题.

我的问题:

1) 是否可以用一种语言编写源代码,同时用另一种 junit 语言编写 junit 测试,如果可以,是否有这样的例子?

2) 如果是,哪种语言最能满足上述 1-3。

此外,任何有意义 对“用 java 编写,在 * 中的 junit 测试”提案的优点的评论都会有所帮助。

谢谢!

最佳答案

我曾经在寻找一个满足相同要求的测试库,并且更像

  • 单元测试、集成测试和端到端测试使用相同的框架
  • 简单直观的数据驱动测试
  • BDD 类型的测试
  • 过渡应该是渐进式的(即我们是一家 Java 商店,如果有人不想利用 groovy,他们仍然可以使用 Java)

还有 spock是一个强大的框架,可以满足所有要求。我们可以将 JUNIT 和 Spock 混合在一起。 Spock 以与 Junit 等相同的格式生成报告。

示例

  1. 集成测试:Spock Grails、Spring 和 Unitils 插件
  2. 端到端的用户界面测试:Geb + 斯波克
  3. 端到端应用程序到应用程序接口(interface),如网络服务等:HttpBuilder + http://groovy.codehaus.org/GroovyWS + 斯波克

关于java - 用动态 JVM 语言补充 JUnit 测试电池,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8735546/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com