[英]JUnit doesn't recognize test (in Eclipse or Maven)
作為一些JBehave測試工作的一部分,我有一個Runner類,無論出於何種原因,Eclipse都不允許JUnit用作“ Run As ...”。 我嘗試通過“ mvn -Dtest = LoginTrial測試”通過Maven手動啟動它,但它也無法識別該測試。 這是它的代碼,任何想法都將不勝感激。
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"));
}
}
}
您的測試類是抽象的。 刪除抽象修飾符。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.