如何在具有测试依赖性的maven项目中测试intellij中的单个测试模块?

如何在具有测试依赖性的maven项目中测试intellij中的单个测试模块?,maven,testing,intellij-idea,Maven,Testing,Intellij Idea,情况如下: 我有2个模块,依赖于模块父模块的模块子模块。 我在PARENT中有一个测试类,可以在KID中使用它来测试类的实现 为此,我添加了以下依赖项: <dependency> <groupId>myGroup</groupId> <artifactId>PARENT</artifactId> <version>${project.version}</versi

情况如下:

我有2个模块,依赖于模块父模块的模块子模块。 我在PARENT中有一个测试类,可以在KID中使用它来测试类的实现

为此,我添加了以下依赖项:

    <dependency>
        <groupId>myGroup</groupId>
        <artifactId>PARENT</artifactId>
        <version>${project.version}</version>
        <type>test-jar</type>
        <scope>test</scope>
    </dependency>

myGroup
父母亲
${project.version}
试验罐
测试
使用maven,测试运行良好

使用Intellij(右键单击java测试文件夹并为KID运行“所有测试”),我得到一个NoClassDefFoundError。问题是来自两个模块的测试都在运行,但它只使用kid的依赖项

在项目父项中,我有一个在KID中不需要的依赖项:

    <dependency>
        <groupId>commons-codec</groupId>
        <artifactId>commons-codec</artifactId>
        <version>1.8</version>
        <scope>provided</scope>
    </dependency>

通用编解码器
通用编解码器
1.8
假如
将作用域设置为提供而不是测试将解决我的问题,但它允许主代码使用测试代码

我可能错过了什么?这是一只虫子

我在那里得到了答案:

这是因为运行配置是由模板创建的。 并且该模板具有跨模块依赖项拾取类的默认设置

在132.46中,以下内容对我有帮助: 1.打开“运行配置”对话框的“默认值”部分。 2.找到相应的模板。我试过JUnit。 3.“测试种类”组合,选择包中的全部。 4.设置“在单个模块中”。 5.应用以保存模板

之后,删除创建的配置并重复“运行所有测试”。它只为我从当前模块中选择类

IDEA中可能的改进是专门为基于Maven的项目修改这些默认值。相当具体的变化