gpt4 book ai didi

java - 如何对 Java EE 代码进行单元测试?

转载 作者:IT老高 更新时间:2023-10-28 20:28:36 25 4
gpt4 key购买 nike

我想问一下您测试 Java EE 代码的首选方式?

我只找到了三个项目,它们试图帮助在 Java EE 环境中编写单元测试代码:

所以我想知道,

  • 是否有任何框架可以帮助编写 (j) Java EE 代码的单元测试?
  • 您是否使用嵌入式 Java EE 服务器,例如 jboss 或 glassfish v3?
  • 你自己做模型和注入(inject)吗?

非常感谢...

最佳答案

如果 单元测试 你的意思是......单元测试(单独测试一个单元),那么你实际上不需要任何特定的框架,因为 EJB3.0 只不过是带注释的 POJO 和因此可以相对容易地进行测试,无需任何特殊夹具。

现在,如果您指的是其他东西 - 例如 集成测试功能测试 - 那么,是的,工具可以帮助和简化事情(但你真的应该开始使用正确的术语 :) 我假设这就是你的想法。

首先,JUnitEE似乎死了和过时了,我什至不确定它对 EJB3.x 有什么影响。其次,我对 Java EE 5 support 没有印象。的 Cactus并且不得不部署 Cactus 测试很痛苦(我认为 Cactus 对 J2EE 1.4 来说很好,但现在有点过时了)。所以这给我们留下了Ejb3Unit在我看来这是最好的选择,特别是如果你想运行 out of container 测试,即不真正部署应用程序(更快)。

如果您想运行 in container 测试,那么您确实可以使用嵌入式容器,我目前的偏好是 GlassFish v3,即使对于 Java EE 5(我可能错了,但我对最新 JBoss 版本的开始时间感到非常失望,所以它并没有引起我的太多关注)。见帖子GlassFish Embedded Reloaded, an appserver in your pocket示例代码(您可以在测试中使用)或 Using maven plugin for v3 embedded glassfish (如果您使用的是 Maven)。

另一种选择是使用 Cargo 打包和部署您的应用程序然后针对已部署的应用程序运行一些测试(例如使用 Selenium 或 BDD 工具)。如果您想使用不提供任何嵌入式 API 的容器运行端到端测试,这可能会很有用。

所以,为了回答你的最后一个问题,我确实会使用可用的工具,也许是它们的组合,用于不是单元测试并且不会自己模拟/注入(inject)东西的测试,除非它们不能满足某些需求我现在想不出来。

关于java - 如何对 Java EE 代码进行单元测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1947846/

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