JUnit不';t识别测试(在Eclipse或Maven中)

JUnit不';t识别测试(在Eclipse或Maven中),maven,junit,jbehave,jbehave-plugin,Maven,Junit,Jbehave,Jbehave Plugin,我有一个runner类作为一些JBehave测试工作的一部分,并且出于任何原因Eclipse不允许JUnit作为“RunAs…”。我试图通过Maven通过“mvn-Dtest=LoginTrial test”手动启动它,但它也无法识别该测试。这是它的代码,任何想法都将不胜感激 package tests.acceptanceTests.featureTests.login; import java.text.SimpleDateFormat; import java.util.List; i

我有一个runner类作为一些JBehave测试工作的一部分,并且出于任何原因Eclipse不允许JUnit作为“RunAs…”。我试图通过Maven通过“mvn-Dtest=LoginTrial test”手动启动它,但它也无法识别该测试。这是它的代码,任何想法都将不胜感激

package tests.acceptanceTests.featureTests.login;

import java.text.SimpleDateFormat;
import java.util.List;

import org.jbehave.core.InjectableEmbedder;
import org.jbehave.core.annotations.Configure;
import org.jbehave.core.annotations.UsingEmbedder;
import org.jbehave.core.annotations.UsingSteps;
import org.jbehave.core.embedder.Embedder;
import org.jbehave.core.embedder.StoryControls;
import org.jbehave.core.io.CodeLocations;
import org.jbehave.core.io.LoadFromClasspath;
import org.jbehave.core.io.StoryFinder;
import org.jbehave.core.junit.AnnotatedEmbedderRunner;
import org.jbehave.core.parsers.RegexPrefixCapturingPatternParser;
import org.jbehave.core.reporters.StoryReporterBuilder;
import org.jbehave.core.steps.ParameterConverters.DateConverter;
import org.junit.Test;
import org.junit.runner.RunWith;

import steps.login.LoginSteps;
import tests.acceptanceTests.featureTests.login.LoginTrial.MyDateConverter;
import tests.acceptanceTests.featureTests.login.LoginTrial.MyReportBuilder;
import tests.acceptanceTests.featureTests.login.LoginTrial.MyStoryControls;
import tests.acceptanceTests.featureTests.login.LoginTrial.MyStoryLoader;


@RunWith(AnnotatedEmbedderRunner.class)
@Configure(storyControls = MyStoryControls.class, storyLoader = MyStoryLoader.class, storyReporterBuilder = MyReportBuilder.class, parameterConverters = { MyDateConverter.class })
@UsingEmbedder(embedder = Embedder.class, generateViewAfterStories = true, ignoreFailureInStories = true, ignoreFailureInView = true, verboseFailures = true,
    storyTimeoutInSecs = 100, threads = 2, metaFilters = "-skip")
@UsingSteps(instances = { LoginSteps.class })
public abstract class LoginTrial extends InjectableEmbedder
{
@Test
public void run() 
{
    List<String> storyPaths = new StoryFinder().findPaths(CodeLocations.codeLocationFromClass(this.getClass()), 
            "../../../../../stories/login_trial.story", "");
    injectedEmbedder().runStoriesAsPaths(storyPaths);
}

public static class MyStoryControls extends StoryControls {
    public MyStoryControls() {
        doDryRun(false);
        doSkipScenariosAfterFailure(false);
    }
}

public static class MyStoryLoader extends LoadFromClasspath {
    public MyStoryLoader() {
        super(LoginTrial.class.getClassLoader());
    }
}

public static class MyReportBuilder extends StoryReporterBuilder {
    public MyReportBuilder() {
        this.withFormats(org.jbehave.core.reporters.Format.HTML, org.jbehave.core.reporters.Format.TXT, org.jbehave.core.reporters.Format.XML).withDefaultFormats();
    }
}

public static class MyRegexPrefixCapturingPatternParser extends RegexPrefixCapturingPatternParser {
    public MyRegexPrefixCapturingPatternParser() {
        super("%");
    }
}

public static class MyDateConverter extends DateConverter {
    public MyDateConverter() {
        super(new SimpleDateFormat("yyyy-MM-dd"));
    }
}   
}
package tests.acceptanceTests.featureTests.login;
导入java.text.simpleDataFormat;
导入java.util.List;
导入org.jbehave.core.InjectableEmbedder;
导入org.jbehave.core.annotations.Configure;
导入org.jbehave.core.annotations.UsingEmbedder;
导入org.jbehave.core.annotations.UsingSteps;
导入org.jbehave.core.embedder.embedder;
导入org.jbehave.core.embedder.StoryControls;
导入org.jbehave.core.io.CodeLocations;
导入org.jbehave.core.io.LoadFromClasspath;
导入org.jbehave.core.io.StoryFinder;
导入org.jbehave.core.junit.annotatedderrunner;
导入org.jbehave.core.parsers.RegexPrefixCapturingPatternParser;
导入org.jbehave.core.reporters.StoryReporterBuilder;
导入org.jbehave.core.steps.ParameterConverters.DateConverter;
导入org.junit.Test;
导入org.junit.runner.RunWith;
导入步骤.login.LoginSteps;
导入测试.acceptanceTests.featureTests.login.LoginTrial.MyDateConverter;
导入测试.acceptanceTests.featureTests.login.LoginTrial.MyReportBuilder;
导入测试。验收测试。功能测试。登录。登录。MyStoryControl;
导入测试.acceptanceTests.featureTests.login.LoginTrial.MyStoryLoader;
@RunWith(annotatedEmberRunner.class)
@配置(storyControls=MyStoryControls.class,storyLoader=MyStoryLoader.class,storyReporterBuilder=MyReportBuilder.class,parameterConverters={MyDateConverter.class})
@UsingEmbedder(embedder=embedder.class,generateViewAfterStories=true,ignoreFailureInStories=true,ignoreFailureInView=true,verboseFailures=true,
StoryTimeOutineSecs=100,threads=2,metaFilters=“-skip”)
@使用步骤(实例={LoginSteps.class})
公共抽象类LoginTrial扩展了InjectableEmbedder
{
@试验
公开募捐
{
List StoryPath=new StoryFinder().FindPath(CodeLocations.codeLocationFromClass(this.getClass()),
“../../../../../../stories/login_-trial.story”,”;
injectedEmbedder().RunStoriesPath(故事路径);
}
公共静态类MyStoryControls扩展了StoryControls{
公共MyStoryControls(){
doDryRun(假);
doSkipScenariosAfterFailure(假);
}
}
公共静态类MyStoryLoader扩展了LoadFromClasspath{
公共MyStoryLoader(){
super(LoginTrial.class.getClassLoader());
}
}
公共静态类MyReportBuilder扩展了StoryReporterBuilder{
公共MyReportBuilder(){
此.withFormats(org.jbehave.core.reporters.Format.HTML、org.jbehave.core.reporters.Format.TXT、org.jbehave.core.reporters.Format.XML).withDefaultFormats();
}
}
公共静态类MyRegexPrefixCapturingPatternParser扩展了RegexPrefixCapturingPatternParser{
公共MyRegexPrefixCapturingPatternParser(){
超级(“%”);
}
}
公共静态类MyDateConverter扩展了DateConverter{
公共MyDateConverter(){
超级(新简化格式(“yyyy-MM-dd”);
}
}   
}

您的测试类是抽象的。删除抽象修饰符。

::facepalm::谢谢你抓住了我愚蠢的错误。我很感激。