gpt4 book ai didi

unit-testing - Spring TestContext Framework 和 Jboss Arquillian 的区别

转载 作者:行者123 更新时间:2023-12-01 02:51:18 25 4
gpt4 key购买 nike

我公司在过去 7 年中开发了一个中/大型 Web 应用程序。该应用程序使用 Spring Framework (3.0)、Hibernate(3.x) 和 Struts (1.x) 等。不幸的是,我们没有使用任何类型的自动测试。现在我们需要添加它们以避免回归错误并开始更好的开发生命周期。
遵循这项艰巨工作的最佳实践,我读到我们可以从冒烟 gui 测试开始,然后在添加单元测试之前进行集成测试。
所以我的问题是:关于集成测试(在容器中)Spring TestContextFramework 和 JBoss Arquillian 之间的区别是什么?我读到 Arquillian 将在其最终版本中支持 Spring (http://community.jboss.org/message/563768)。一旦稳定,我会不会有一些好处?

谢谢,
斯特凡诺。

最佳答案

我从未使用过 Arquillian,但它似乎专注于 EJB 测试,重点是部署到实时容器。如果您的应用程序基于 Spring (+ Hibernate),那么 Spring Test 支持可能是最佳选择。

在测试用例中,您可以使用模拟内存数据库启动部分应用程序上下文(仅一小部分或几乎整个应用程序)。您不需要正在运行的容器,因为 Spring 主要是自包含的。测试 Struts 1.x Action 更难,但我想 Arquillian 也帮不了你。

另外,如果您关心软件稳定性,Arquillian 现在似乎是 Alpha 版本。但我肯定会给它一个机会,因为我必须测试基于 EJB 的应用程序。对于 Spring 应用程序,具有上下文缓存、测试中的事务划分等,TestContext Framework 是最佳选择。

旁注:考虑使用 TestNG 而不是 JUnit,因为它与 TestContext 一起玩得更好,例如您可以在设置/拆卸方法(JUnit 中的静态)中访问 Spring bean。

关于unit-testing - Spring TestContext Framework 和 Jboss Arquillian 的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4922554/

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