我在我的日食中导入了maven项目。现在我需要开始对其进行更改并使用集成测试(在App服务器之外)进行测试。目前,使用openEJB容器在服务器上运行集成测试。
我的基本问题是,使用Maven编译,构建和测试的常规过程是什么?
mvn install
它是如何完成的?我对了解mvn install
命令特别感兴趣。
在测试之前,我应该完成所有三个步骤吗?
示例:我只想打印一些东西,看看输出是什么。为此,我想我需要做所有这些步骤?
openEJB容器需要类,因此可以加载它们。
答案 0 :(得分:2)
答案 1 :(得分:2)
首先,您应该知道单元测试和集成测试是分开的,并且是从单独的插件和maven生命周期的不同部分运行的。单元测试使用surefire运行,集成测试使用failsafe运行。
您希望运行集成测试,并且故障安全文档说:
注意:在运行集成测试时,您应该使用(更短的类型)
来调用maven
mvn verify
而不是试图直接调用
integration-test
阶段......
这是直接在maven 中运行集成测试的最佳方式。它将运行必要的所有前述步骤(例如:compile
)以运行集成测试。它不会浪费时间进行安装,因为install
会在verify
之后立即发生。
但是如果您在本地运行测试,那么直接在IDE中运行集成测试可能更好。这将为您提供更快的反馈循环。
答案 2 :(得分:1)
如果是Eclipse项目,最合理的做法是不是从命令行而是从Eclipse做所有事情。假设您安装了m2e插件,请转到your_project->run as->Maven test
并运行它。
您既不需要install
也不需要package
阶段来运行Maven测试,package
将创建一个测试不需要的jar,install
会将此jar复制到当地的回购也没用。当Maven运行测试时,它使用来自目标dir的编译类,如果存在,则忽略项目的jar。
答案 3 :(得分:0)
是的,mvn isntall
是最受欢迎的选项。它编译,打包和测试您的项目。