单元测试:Maven还是Eclipse?

时间:2020-03-06 15:00:57  来源:igfitidea点击:

我不是很熟悉Maven程序,但是我已经使用Eclipse一段时间了,用于单元测试,代码覆盖率,javadoc生成,代码样式检查等。可能,这是我真正不喜欢Eclipse的唯一主要内容是同时运行Eclipse和Ant时生成的"编译错误"。所以我想知道如果我们正在运行Ant任务,Maven 2是否会执行相同的操作。

李23

解决方案

我目前工作的公司有很多使用Maven(1.x)运行的JUnit测试。我们从来没有真正遇到过任何问题,可以使用远程调试器或者在Eclipse中单独调试在maven中失败的任何测试。

最重要的是,我们需要花费时间和精力来正确设置环境,以便在运行测试时,它们使用正确的目录,变量等。这样,我们就不会像以前那样遇到"编译错误"在运行Eclipse和Ant时获得。

Maven可以在编译的测试周期内为我们运行所有测试,这应该不再需要任何Ant任务来运行测试。但是,如果我们仍然需要用于其他任务的脚本(代码生成等),请对Maven生成代码的能力感到厌倦,并且不将其包括在已编译的二进制文件中(jar,war),尽管这对于较新的版本可能是固定的版本的Maven。

在一天结束时,最好评估一下Maven 2,看看它是否适合我们。听起来我们已经对Ant和Eclipse充满了(讽刺)的乐趣(/ sarcasm)。 :)

使用maven的主要好处之一是,我们需要一次指定依赖项,构建设置和部署方法,然后可以在多个环境中运行它们。

特别是,我们可以使持续集成/每晚构建环境仅通过使用pom.xml文件运行这些任务。

此外,我们可以(可能应该)将pom.xml文件添加到版本控制存储库中。这有两个好处:a)跟踪构建过程在版本之间的变化,以及b)其他开发人员不需要手动查找和安装项目所依赖的所有JAR文件,他们只需获取POM文件,然后专家负责其余的工作。

如果我们已经准备好使用测试和代码覆盖工具,则应该研究一下maven。
特别是如果我们开始与项目团队合作。

只要我们是唯一的开发人员,就可以在eclipse中运行测试。
使用maven将使我们能够使用诸如continuum之类的连续整合工具

似乎我们必须花费更多的时间正确地设置Maven,但是从长远来看,它肯定会付钱。

我们在这里使用continuum,一旦核心安装完成,我们就再也没有看到编译错误的任何问题。