1

我在我的 Eclipse 中导入了 Maven 项目。现在我需要开始对其进行更改并使用集成测试(在 App 服务器之外)对其进行测试。目前,集成测试是在使用 openEJB 容器的服务器之外运行的。

我的基本问题是,使用 Maven 编译、构建和测试的常规流程是什么?

  1. mvn install
  2. Maven -> 更新项目。
  3. 从命令行运行我的测试

它是如何完成的?我对了解mvn install命令特别感兴趣。那么我应该在测试之前完成所有三个步骤吗?

示例:我只是想打印一些东西,看看输出是什么。为此,我想我需要执行所有这些步骤?

openEJB 容器需要类以便加载它们。

4

4 回答 4

2

首先,您应该知道单元测试和集成测试是分开的,并且从不同的插件和 maven 生命周期的不同部分运行。单元测试使用surefire运行,集成测试使用failsafe运行。

您想运行集成测试,故障安全文档说:

注意:在运行集成测试时,您应该使用(也更短的类型)调用 maven

mvn verify

而不是试图integration-test直接调用阶段......

这是直接在 maven中运行集成测试的最佳方式。它将运行前面所有必要的步骤(例如compile:)以运行集成测试。它不会浪费时间进行安装,因为installverify.

但是,如果您在本地运行测试,最好直接在 IDE 中运行集成测试。这将为您提供更快的反馈循环。

于 2013-06-05T19:36:43.993 回答
1

如果是 Eclipse 项目,最合理的做法是不要从命令行而是从 Eclipse 做所有事情。假设您安装了 m2e 插件,请转到your_project->run as->Maven test并运行它。

您既不需要install也不需要package阶段来运行 Maven 测试,package将创建一个测试不需要的 jar,install将这个 jar 复制到本地 repo,这也是无用的。当 Maven 运行测试时,它使用来自目标目录的编译类并忽略项目的 jar,即使它存在。

于 2013-06-05T18:01:44.320 回答
0

是的,mvn isntall是最受欢迎的选择。它编译、打包和测试您的项目。

于 2013-06-05T17:48:59.643 回答