@
dizhang1109 不错。
我主要精力还是在 Java 开发上,基本工具架构我还是停留在 Junit,TestNG 用得少,印象中只有一两次,除了一些蛋痛的客户认为这比较吊外,我一般都会选择默认用 JUnit。
Build 工具我默认选择是 Maven,虽然 Gradle 最近两年比较火,各种 Blog 吹翻天,我的体验不如 Maven,对于熟悉 Groovy 的人来讲,它可以比较适合。Gradle 我不排斥,不是首选。
1. Spring 程序测试我还是喜欢 JUnit/Mockito,Spring/Spring Boot 集成的东西特别多, 针对不同的目的有不同的测试支持,@RestClientTest,@WebMvcTest, @
WebfluxTest , @
JsonTest @
DataJpaTest 等。
另外, 用一些扩展,JSONPath,RestAssured 等
JBehave,Cucumber 我不习惯,对 Spring 支持也不如 RestAssured 友好, 而 RestAssured 也支持 BDD 类似语法。
2. 标准 Java EE 程序,Glassfish 或 JBoss Wildfly(用得比较多一些) 应用服务器,用 JUnit, Mockito,JBoss Arquillian (容器内测试,官方有数十个衍生子项目,所以容器相关都可以找到相应的支持,甚至包含广义的容器支持,如 Docker,Android ), 标准的 Java EE 组件也容易进行测试。
concordion 没用过。
Geb 用过一次,测试页面的话,如果 HTML 像国内的 WebDesign 用 DreamWeamer 拖出来的一堆垃圾,代码不标准,写测试估计都要吐血了。Spock 目前没在项目中用过,我知道一些 Github 上开源项目用它的很多。
serenity,不是很大众。估计官方开发人员都是苹果机,这个项目源码我以前在 Windows 跑它测试都有问题,以前提交过补丁(修正过几个 Windows 下的路径问题)。