0

我正在使用 Hudson 并尝试从 subversion 存储库构建一个 maven 项目。问题是,我猜 Maven 下载了一个旧的 junit 版本,因为我发现了这个:

下载:..repo1.maven.org/maven2/junit/junit/3.8.1/junit-3.8.1.pom 下载:..repo1.maven.org/maven2/junit/junit/3.8.1/junit-3.8 .1.pom(998 B,2.0 KB/秒)

后来它抱怨包 org.junit.* 不存在。

当我改为让 Hudson 构建该项目的本地副本(不受颠覆管理)时,它开始了 junit 测试:

测试

运行 JUnitTest ...

我的 pom.xml 看起来像这样:

http://codeviewer.org/view/code:2227

(我还尝试了不带方括号的junit 4.8.2,但没有任何帮助。)

如何让 JUnit 测试运行?

4

1 回答 1

1

dependency虽然在 pom 中指定了带有版本的junit 4.8.2,但它在<dependencyManagement>标签之间。因此,除非在构建中明确定义 了依赖关系,否则不会使用该版本。

您可以通过两种方式解决问题。

删除外部<dependencyManagement>标签 - 只保留内容。

<dependencyManagement>除了和<build>标签之间的 pom 文件中存在的内容之外,还定义以下内容。

<dependencies>
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
    </dependency>
</dependencies>

Pom 参考

于 2012-01-20T12:07:29.607 回答