我想问一下您测试 Java EE 代码的首选方式?
我发现只有三个项目试图帮助在 Java EE 环境中编写单元测试代码:
-
http://jakarta.apache.org/cactus/ http://jakarta.apache.org/cactus/: 最后发布: 2009-01-18
-
http://www.junitee.org/ http://www.junitee.org/:最后发布:2004-12-11
-
http://ejb3unit.sourceforge.net/ http://ejb3unit.sourceforge.net/:最后发布:2008-05-17
所以我想知道,
- 有没有任何框架可以帮助编写(Java EE代码的junit测试?
- 您使用嵌入式 Java EE 服务器(例如 jboss 或 glassfish v3)吗?
- 你自己模拟并注入吗?
多谢...
If by 单元测试你的意思是...单元测试(单独测试一个单元),那么你实际上不需要任何特定的框架,因为EJB3.0只不过是带注释的POJO,因此可以相对容易地进行测试,而不需要任何特殊的固定装置。
现在,如果你指的是其他东西 - 比如集成测试 or 功能测试- 然后,yes,工具可以帮助和简化事情(但你真的应该开始使用正确的术语:)我假设这就是你的想法。
First, JUnitEE http://www.junitee.org/看起来已经死了并且过时了,我什至不确定它对 EJB3.x 有什么帮助。其次,我对这件事没有印象Java EE 5 支持 http://jakarta.apache.org/cactus/writing/howto_ejb_3.html of Cactus http://jakarta.apache.org/cactus/并且必须部署 Cactus 测试是痛苦的(我认为 Cactus 对于 J2EE 1.4 来说很好,但现在有点过时了)。所以这给我们留下了Ejb3Unit http://ejb3unit.sourceforge.net/我认为这是最好的选择,特别是如果你想跑步从容器中取出测试,即无需真正部署应用程序(更快)。
如果你想跑步在容器中测试,那么你确实可以使用嵌入式容器,而我当前的偏好是 GlassFish v3,即使是 Java EE 5(我可能是错的,但我对最新 JBoss 版本的启动时间感到非常失望,所以它没有得到我的大部分注意力)。看帖子GlassFish Embedded Reloaded,您口袋里的应用服务器 http://blogs.oracle.com/alexismp/entry/glassfish_embedded_reloaded示例代码(您可以在测试中使用)或使用 v3 嵌入式 glassfish 的 Maven 插件 http://blogs.oracle.com/sirajg/entry/using_maven_plugin_for_v3(如果您使用的是 Maven)。
另一种选择是打包和部署您的应用程序Cargo http://cargo.codehaus.org/然后针对已部署的应用程序运行一些测试(例如使用 Selenium 或 BDD 工具)。如果您想使用不提供任何嵌入式 API 的容器运行端到端测试,这可能很有用。
因此,为了回答你的最后一个问题,我确实会使用可用的工具,也许是它们的组合,用于不是单元测试的测试,并且不会自己模拟/注入东西,除非它们不能满足我可以满足的一些需求现在暂时想不起来。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)