Search in sources :

Example 6 with MultiLoader

use of cucumber.runtime.io.MultiLoader in project activityinfo by bedatadriven.

the class ScenarioTestCase method createCucumberRuntime.

private Runtime createCucumberRuntime() {
    List<Module> moduleList = new ArrayList<>();
    moduleList.add(new ScenarioModule(new SequentialScenarioScope()));
    moduleList.addAll(testConditions.getModules());
    Injector injector = Guice.createInjector(moduleList);
    ClassLoader classLoader = getClass().getClassLoader();
    ResourceLoader resourceLoader = new MultiLoader(classLoader);
    ClassFinder classFinder = new ResourceLoaderClassFinder(resourceLoader, classLoader);
    JavaBackend backend = new JavaBackend(new GuiceObjectFactory(injector), classFinder);
    return new Runtime(resourceLoader, classLoader, Collections.singleton(backend), options);
}
Also used : ResourceLoader(cucumber.runtime.io.ResourceLoader) JavaBackend(cucumber.runtime.java.JavaBackend) MultiLoader(cucumber.runtime.io.MultiLoader) ScenarioModule(cucumber.runtime.java.guice.impl.ScenarioModule) ArrayList(java.util.ArrayList) ResourceLoaderClassFinder(cucumber.runtime.io.ResourceLoaderClassFinder) Runtime(cucumber.runtime.Runtime) Injector(com.google.inject.Injector) ResourceLoaderClassFinder(cucumber.runtime.io.ResourceLoaderClassFinder) ClassFinder(cucumber.runtime.ClassFinder) SequentialScenarioScope(cucumber.runtime.java.guice.impl.SequentialScenarioScope) Module(com.google.inject.Module) ScenarioModule(cucumber.runtime.java.guice.impl.ScenarioModule)

Example 7 with MultiLoader

use of cucumber.runtime.io.MultiLoader in project activityinfo by bedatadriven.

the class TestMain method queueOdkTests.

private void queueOdkTests() {
    ResourceLoader loader = new MultiLoader(getClass().getClassLoader());
    RuntimeOptions options = new RuntimeOptions(Arrays.asList("--tags", "@odk", "classpath:org/activityinfo/test", "--glue", "org.activityinfo.test.steps.common", "--glue", "org.activityinfo.test.steps.odk"));
    queueFeatures("odk", loader, options, new OdkModule());
}
Also used : ResourceLoader(cucumber.runtime.io.ResourceLoader) MultiLoader(cucumber.runtime.io.MultiLoader) RuntimeOptions(cucumber.runtime.RuntimeOptions) OdkModule(org.activityinfo.test.webdriver.OdkModule)

Example 8 with MultiLoader

use of cucumber.runtime.io.MultiLoader in project activityinfo by bedatadriven.

the class TestMain method queueApiTests.

private void queueApiTests() {
    ResourceLoader loader = new MultiLoader(getClass().getClassLoader());
    RuntimeOptions options = new RuntimeOptions(Arrays.asList("--tags", "@api", "classpath:org/activityinfo/test", "--glue", "org.activityinfo.test.steps.common", "--glue", "org.activityinfo.test.steps.json"));
    queueFeatures("api", loader, options, new ApiModule());
}
Also used : ResourceLoader(cucumber.runtime.io.ResourceLoader) ApiModule(org.activityinfo.test.driver.ApiModule) MultiLoader(cucumber.runtime.io.MultiLoader) RuntimeOptions(cucumber.runtime.RuntimeOptions)

Example 9 with MultiLoader

use of cucumber.runtime.io.MultiLoader in project activityinfo by bedatadriven.

the class TestMain method queueTestMethods.

private void queueTestMethods(String environment, Module... driverModules) {
    List<Module> modules = new ArrayList<>();
    modules.add(new SystemUnderTest(url));
    modules.add(new EmailModule());
    modules.addAll(Arrays.asList(driverModules));
    TestConditions conditions = new TestConditions(environment, modules);
    Predicate<String> filter = filterPredicate();
    ClassLoader classLoader = getClass().getClassLoader();
    ClassFinder classFinder = new ResourceLoaderClassFinder(new MultiLoader(classLoader), classLoader);
    Collection<Class<?>> testClasses = classFinder.getDescendants(Object.class, "org.activityinfo.test.ui");
    for (Class<?> testClass : testClasses) {
        for (Method method : JUnitUiTestCase.findTestMethods(testClass)) {
            if (filter.apply(method.getName()) || filter.apply(method.getDeclaringClass().getName())) {
                queueTestCase(new JUnitUiTestCase(method, conditions));
            }
        }
    }
}
Also used : MultiLoader(cucumber.runtime.io.MultiLoader) Method(java.lang.reflect.Method) EmailModule(org.activityinfo.test.driver.mail.EmailModule) ResourceLoaderClassFinder(cucumber.runtime.io.ResourceLoaderClassFinder) SystemUnderTest(org.activityinfo.test.sut.SystemUnderTest) ResourceLoaderClassFinder(cucumber.runtime.io.ResourceLoaderClassFinder) ClassFinder(cucumber.runtime.ClassFinder) OdkModule(org.activityinfo.test.webdriver.OdkModule) Module(com.google.inject.Module) ApiModule(org.activityinfo.test.driver.ApiModule) WebDriverModule(org.activityinfo.test.webdriver.WebDriverModule) EmailModule(org.activityinfo.test.driver.mail.EmailModule)

Aggregations

MultiLoader (cucumber.runtime.io.MultiLoader)9 ResourceLoader (cucumber.runtime.io.ResourceLoader)7 RuntimeOptions (cucumber.runtime.RuntimeOptions)5 ResourceLoaderClassFinder (cucumber.runtime.io.ResourceLoaderClassFinder)5 ClassFinder (cucumber.runtime.ClassFinder)3 Runtime (cucumber.runtime.Runtime)3 Module (com.google.inject.Module)2 ArrayList (java.util.ArrayList)2 ApiModule (org.activityinfo.test.driver.ApiModule)2 OdkModule (org.activityinfo.test.webdriver.OdkModule)2 WebDriverModule (org.activityinfo.test.webdriver.WebDriverModule)2 Injector (com.google.inject.Injector)1 Ref (com.intellij.openapi.util.Ref)1 ObjectFactory (cucumber.api.java.ObjectFactory)1 Glue (cucumber.runtime.Glue)1 JavaBackend (cucumber.runtime.java.JavaBackend)1 ScenarioModule (cucumber.runtime.java.guice.impl.ScenarioModule)1 SequentialScenarioScope (cucumber.runtime.java.guice.impl.SequentialScenarioScope)1 CucumberFeature (cucumber.runtime.model.CucumberFeature)1 FeatureLoader (cucumber.runtime.model.FeatureLoader)1