Java JBehave故事将不会作为可嵌入程序运行
我一直在尝试使用JBehave运行并发的多线程故事。当使用嵌入程序时,它们可以正确运行,但当作为可嵌入对象运行时,它们不会执行。当我更改源目录或作用域时,我会得到一个nullpointerException,当我注释掉它们时,它会成功构建,但找不到类“My ProgramStories.java”。当我使用带有“mvn clean verify”的Maven执行它们时,这就是返回的结果(对于难看的格式表示抱歉): [信息]---jbehave maven插件:3.7.5:以可嵌入的方式运行故事(可嵌入的故事)@program test>--Java JBehave故事将不会作为可嵌入程序运行,java,testing,integration-testing,jbehave,Java,Testing,Integration Testing,Jbehave,我一直在尝试使用JBehave运行并发的多线程故事。当使用嵌入程序时,它们可以正确运行,但当作为可嵌入对象运行时,它们不会执行。当我更改源目录或作用域时,我会得到一个nullpointerException,当我注释掉它们时,它会成功构建,但找不到类“My ProgramStories.java”。当我使用带有“mvn clean verify”的Maven执行它们时,这就是返回的结果(对于难看的格式表示抱歉): [信息]---jbehave maven插件:3.7.5:以可嵌入的方式运行故事(
[信息]使用embedder以嵌入方式运行故事 嵌入器[storyMapper=storyMapper,storyRunner=storyRunner, embedderMonitor=MavenEmbedderMonitor,classLoader=EmbedderClassLoader[URL=[/Users//Documents/Repositories///target/test classes/,, /用户//文档/存储库///目标/类, groovy-all-1.8.4.jar],parent=ClassRealm[plugin>org.jbehave:jbehavemaven plugin:3.7.5, 父项:sun.misc.Launcher$AppClassLoader@1729854]],EmbedderControl= 不可修改的EmbedderControls[EmbedderControls[batch=false,skip=false,generateViewAfterStories true,ignoreFailureInStories=true,ignoreFailureInView=true,verboseFailures=false, verboseFiltering=false,StoryTimeoutineSecs=400,threads=4]], embedderFailureStrategy=org.jbehave.core.embedder.embedder$ThrowingRunningStoriesFailed@127c1 ee,configuration=org.jbehave.core.configuration。MostUsefulConfiguration@10c56cbd,假丝酵母 s=[],stepsFactory=,元过滤器=[groovy:story\u path==~/.*.story/],systemProperties {},executorService=,executorServiceCreated=false,storyManager=]
[信息]----------------------------------------------------------------
[信息]生成失败
[信息]----------------------------------------------------------------
[信息]总时间:1:04.710s
[信息]完成时间:2013年7月29日星期一09:55:43 [信息]最终内存:60M/123M
[信息]----------------------------------------------------------------
[错误]无法执行目标org.jbehave:jbehave maven插件:3.7.5:以其他方式运行故事 项目上的可嵌入故事(可嵌入故事):无法将故事作为 Embeddebles:NullPointerException->[帮助1] 这就是我在POM中配置JBehave Maven插件的方式:
<properties>
<embeddables>**/My-ProgramStories.java</embeddables>
<ignore.failre.in.stories>true</ignore.failre.in.stories>
<meta.filter>groovy: story_path ==~ /.*.story/</meta.filter>
<threads>4</threads>
<story.timeout.in.secs>400</story.timeout.in.secs>
</properties>
**/My-ProgramStories.java
真的
groovy:story\u path==~/.*.story/
4.
400
org.jbehave
JBehaveMaven插件
可嵌入的故事
集成测试
${embeddedables}
${exclude}
测试
src/test/java
src/测试/资源
${skip}
假的
${threads}
${story.timeout.in.secs}
真的
${ignore.failre.in.stories}
真的
${meta.filter}
把故事当作儿戏讲
org.codehaus.groovy
groovy all
1.8.4
通过Eclipse查看的我的故事和测试类以及我的故事文件的结构如下所示:
我的程序测试-->src/test/java
---->包装1
------>我的程序步骤。java
------>我的程序故事。java
-->src/测试/资源
---->包装1
------>故事档案 以下是错误的堆栈跟踪: [错误]无法执行目标org.jbehave:jbehave maven插件:3.7.5:在项目上以可嵌入的方式运行故事我的程序:无法以可嵌入的方式运行故事:NullPointerException->[帮助1] org.apache.maven.lifecycle.LifecycleExecutionException:未能执行目标org.jbehave:jbehave maven插件:3.7.5:在项目上以嵌入方式运行故事(可嵌入故事)我的程序测试:以嵌入方式运行故事失败 位于org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:213) 位于org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153) 位于org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145) 位于org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84) 位于org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59) 位于org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183) 位于org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161) 在org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:320) 在org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156)上 位于org.apache.maven.cli.MavenCli.execute(MavenCli.java:537) 位于org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196) 位于org.apache.maven.cli.MavenCli.main(MavenCli.java:141) 在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)处 位于sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)中 位于java.lang.reflect.Method.invoke(Method.java:597) 位于org.codehaus.plexus.classworlds.launcher.launcher.launchEnhanced(launcher.java:290) 位于org.codehaus.plexus.classworlds.launcher.launcher.launch(launcher.java:230) 在org.codehaus.plexus.classworlds.launc
<plugin>
<groupId>org.jbehave</groupId>
<artifactId>jbehave-maven-plugin</artifactId>
<executions>
<execution>
<id>embeddable-stories</id>
<phase>integration-test</phase>
<configuration>
<includes>
<include>${embeddables}</include>
</includes>
<excludes>
<exclude>${exclude}</exclude>
</excludes>
<scope>test</scope>
<sourceDirectory>src/test/java</sourceDirectory>
<testSourceDirectory>src/test/resources</testSourceDirectory>
<skip>${skip}</skip>
<batch>false</batch>
<threads>${threads}</threads>
<storyTimeoutInSecs>${story.timeout.in.secs}</storyTimeoutInSecs>
<generateViewAfterStories>true</generateViewAfterStories>
<ignoreFailureInStories>
${ignore.failre.in.stories}
</ignoreFailureInStories>
<ignoreFailureInView>true</ignoreFailureInView>
<metaFilters>
<metaFilter>${meta.filter}</metaFilter>
</metaFilters>
</configuration>
<goals>
<goal>run-stories-as-embeddables</goal>
</goals>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>org.codehaus.groovy</groupId>
<artifactId>groovy-all</artifactId>
<version>1.8.4</version>
</dependency>
</dependencies>
</plugin>
Caused by: java.lang.NullPointerException at
org.codehaus.plexus.util.AbstractScanner.normalizePattern(AbstractScanner.java:327) at
org.codehaus.plexus.util.AbstractScanner.setExcludes(AbstractScanner.java:314) at
<exclude>${exclude}</exclude>