我有一个足够简单的项目,我正在尝试使用 JBehave 核心进行测试,并以 maven-kosher 方式做事(即在 src/main 下进行生产,在 src/test 下进行测试,在添加src/it/{java,resources} 的路径,以及 test 范围内的测试依赖项)。让这一切一起运行似乎比它应该更难。
我的情况有点不同,因为我的代码在 src/it/java 中,而资源在 src/it/resources 中。在 Maven 中配置了这些之后,Eclipse 可以很好地运行这些故事——问题出在 Maven 上。
目前我的问题是它在运行(mvn -X)时看不到mockito(或其他测试依赖项)。即使编辑一个工作示例并添加一个测试依赖项也不包括它。
我已经能够通过将我的测试依赖项粘贴在插件 xml blob 中来使其正常工作,但显然我不想这样重复自己。
构建文件的相关部分(没有手动指定的依赖破解)是:
<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>
...
<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>
想法?