当前位置: 首页 > 知识库问答 >
问题:

Maven找不到来自不同模块的测试超类

辛星宇
2023-03-14

我有两个模块mod1和mod2从同一个父项目。mod2依赖于mod1,而mod2 pom.xml包含以下依赖关系

<dependency>
    <groupId>com.project</groupId>
    <artifactId>mod1</artifactId>
    <version>${project.version}</version>
</dependency>

在mod1中,我在src/test/java中定义了一个抽象测试类

public abstract class ServicesAbstractTest {
...
}

在mod2src/test/java中,我定义了一个继承这个类的测试类。

public class Mod2Test extends ServicesAbstractTest {
...
}

这些都是JUnit4测试。当我直接在Eclipse中运行测试时,它工作得很好。但是当我执行MVN clean安装时不起作用,有编译错误显示maven在编译和测试MOD2时没有找到ServicesAbstractTest

我试着在类似的问题上应用所说的:Pascal Thivent的回答和Duncan的回答,并附加了两个问题:

Could not find goal 'test-jar' in plugin org.apache.maven.plugins:maven-surefire-plugin:2.2 among available goals test -> [Help 1]

以及模块2的更多编译问题:我想我需要在这里指定额外的范围,不仅仅是测试,我将对此做进一步的研究。

共有1个答案

简宏义
2023-03-14

1337Joe的评论就是其中之一。帕斯卡尔·蒂文特的答案就是我所看到的。

吸取的经验教训

>

  • 当发现一个问题时,开始尽可能准确地提出问题。这是最好的方式,指出最相关的答案,你的问题。你可能会认为,与代码错误的谷歌搜索相比,你在写问题时浪费了时间。你实际上是在更快地找到正确的答案

  •  类似资料:
    • 我在Maven中有一个相当简单的带有子模块的项目结构: 在中,我定义了所有子模块的属性,如库版本或插件配置: 直接在节点中设置库版本。 在中设置节点。 尝试不同的库版本。 使用以及库是否存在。 在中运行。 在中运行。 在中运行 在中运行。 在中运行。

    • 我使用的是Maven 3.0.3、JUnit 4.8.1和Java1.6。我在JUnit测试文件中有这个... 未拾取“test.properties”(输入流对象为空)。我的项目结构如下: parent+---pom.xml +----war模块 +------pom.xml +------src/test/java/junit文件 +------src/test/resources/test.

    • 我有一个Maven项目设置。在这个项目中,我使用JUnit进行单元测试。当我使用或运行测试时,不会运行任何测试。测试位于中,它们都以结束(它们匹配)。 这是我的pom.xml: 我的整个项目结构可以在这里看到:https://bitbucket.org/equator-lang/ppp4e/src/master/ 任何帮助都将非常感谢,因为我已经尝试了很多个小时来让这个工作,但不知道该做什么。 公

    • 我似乎无法让Maven在多模块项目中找到兄弟姐妹的模块。 我已经在所有模块中运行了。 下面是MagnicCompCommon 下面是Model

    • 在使用scalatest时,我遇到了一个奇怪的问题。我有一个带有多个模块的maven项目。如果我直接在模块中执行mvn测试。它可以正常工作,但如果在根文件夹中执行,它会抱怨编译时缺少包(依赖项)。 我的配置如下所示: 插件配置: 如果我从maven scala插件中删除目标,它将编译,但scalatest将找不到测试源并退出,并且没有执行任何测试 : 你知道我做错了什么吗?! 干杯

    • 问题内容: 我尝试使用Maven创建一个测试项目,并且单元测试工作正常。但是,当尝试对j2ee项目执行相同操作时,surefire无法找到单元测试。测试位于正确的目录(src / test / java)中,并且正在对其进行编译。 junit测试位于src / test / java / unit / TestAddition.java pom.xml中的surefire插件配置不包含/排除任何文