如何在Maven中运行时让JBehave包含测试依赖项jar?

Dav*_*anc 7 java bdd jbehave maven

我有一个足够简单的项目,我正在尝试使用JBehave核心进行测试,并以maven-kosher方式进行操作(即src/main下的生产,src/test下的测试,添加下的集成测试src/it/{java,resources}的路径,以及测试的测试依赖项.让这一切在一起运行似乎比它应该更难.

我的情况有点不同,因为我的代码在src/it/java中,src/it/resources中的资源.在maven中配置了这些,Eclipse运行故事就好了 - 问题在于Maven.

目前我的问题是它在运行时没有看到mockito(或其他测试依赖项)(mvn -X).即使编辑工作示例并添加测试依赖项也不包括它.

我已经能够通过在插件xml blob中粘贴我的测试依赖项来使其工作,但显然我不想像那样重复自己.

构建文件的相关部分(没有手动指定的依赖项hack)是:

<testResources>
    <testResource>
        <directory>src/test/resources</directory>
        <filtering>false</filtering>
        <includes>
            <include>**/*</include>
        </includes>
    </testResource>
    <testResource>
        <directory>src/it/resources</directory>
        <filtering>false</filtering>
        <includes>
            <include>**/*</include>
        </includes>
    </testResource>
</testResources>
Run Code Online (Sandbox Code Playgroud)

...

  <plugin>
    <groupId>org.jbehave</groupId>
    <artifactId>jbehave-maven-plugin</artifactId>
    <executions>
      <execution>
        <id>embeddable-stories</id>
        <phase>integration-test</phase>
        <configuration>
          <includes>
            <include>**/*Story.java</include>
          </includes>
          <ignoreFailureInStories>false</ignoreFailureInStories>
          <ignoreFailureInView>false</ignoreFailureInView>
          <scope>test</scope>
          <testSourceDirectory>src/it/java</testSourceDirectory>
        </configuration>
        <goals>
          <goal>run-stories-as-embeddables</goal>
        </goals>
      </execution>
    </executions>
  </plugin>
Run Code Online (Sandbox Code Playgroud)

想法?

Rag*_*ram 2

根据jbehave maven插件文档

使用 JBehave Maven 插件时,如果您发现 Apache log4j 无法加载其类,则根据 POM 配置的其余部分,您可能需要添加 Apache log4j 作为插件依赖项(而不是项目依赖项)

您可能面临同样的问题吗?