我有一个足够简单的项目,我正在尝试使用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中粘贴我的测试依赖项来使其工作,但显然我不想像那样重复自己。
构建文件的相关部分(没有手动指定的依赖项黑客)是:
<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>
想法?
答案 0 :(得分:4)
该插件的属性scope
默认为compile
,我想您应该将其更改为test
。请咨询documentation。
此外,here is good point默认为compile
。
答案 1 :(得分:2)
根据jbehave maven插件documentation,
使用JBehave Maven插件时, 并取决于你的POM的其余部分 配置,您可能需要添加 Apache log4j作为插件依赖(as 反对项目依赖)如果 你发现它无法加载 它的课程
你能面对同样的问题吗?