繁体   English   中英

为什么JBehave测试在Android Studio单元测试文件夹中运行,而在集成测试文件夹中失败?

[英]Why does JBehave test run within Android Studio unit test folder, but fail within integration test folder?

我是JBehave的新手,正尝试在Android Studio中运行一个简单的测试。 我从一个新项目开始(指定“不添加任何活动”),修改了app / build.gradle文件以包括对JBehave的依赖,并添加了3个文件:app / stories / example.story,IntegrationTestStoryRunner.java和ExampleSteps .java。 当2个Java文件位于src / test / java / ...文件夹中时,我可以成功运行IntegrationTestStoryRunner,但是当我将相同的文件移至src / androidTest / java / ...文件夹时,构建将失败。

我正在使用:

Android Studio v3.1.4 (latest updates as of 9/23/2018)
JBehave Syntax Support plugin v1.62
Running on Windows 10

这是example.story文件(默认由插件创建):

Narrative:
As a user
I want to perform an action
So that I can achieve a business goal

Scenario: scenario description
Given a system state
When I do something
Then system is in a different state

这是JBehave Embedder文件IntegrationTestStoryRunner.java(来自Test-Driven Java Development-Garcia / Farcic ):

package com.pepperhawk.example.jbehave;

import org.jbehave.core.configuration.Configuration;
import org.jbehave.core.configuration.MostUsefulConfiguration;
import org.jbehave.core.io.*;
import org.jbehave.core.junit.JUnitStories;
import org.jbehave.core.reporters.FilePrintStreamFactory;
import org.jbehave.core.reporters.Format;
import org.jbehave.core.reporters.StoryReporterBuilder;
import org.jbehave.core.steps.InjectableStepsFactory;
import org.jbehave.core.steps.InstanceStepsFactory;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

public class IntegrationTestStoryRunner extends JUnitStories {

    @Override
    public Configuration configuration() {
        return new MostUsefulConfiguration()
                .useStoryReporterBuilder(getReporter())
                .useStoryLoader(new LoadFromURL());
    }

    @Override
    protected List<String> storyPaths() {
        return new StoryFinder().findPaths(
                CodeLocations.codeLocationFromPath("").getFile(),
                Collections.singletonList("stories/**/*.story"),
                new ArrayList<String>(),
                "file:"
        );
    }

    @Override
    public InjectableStepsFactory stepsFactory() {
        return new InstanceStepsFactory(configuration(), new ExampleSteps());
    }

    private StoryReporterBuilder getReporter() {
        return new StoryReporterBuilder()
                .withPathResolver(new FilePrintStreamFactory.ResolveToSimpleName())
                .withDefaultFormats()
                .withFormats(Format.CONSOLE, Format.HTML);
    }
}

这是ExampleSteps.java文件:

package com.pepperhawk.example.jbehave;

import org.jbehave.core.annotations.*;

public class ExampleSteps {

    @Given("a system state")
    public void givenSystemState() {
    }

    @When("I do something")
    public void whenIDoSomething() {
    }

    @Then("system is in a different state")
    public void thenSystemInDifferentState() {
    }
}

最后是我的app / gradle.build文件。 最后只添加了jbehave行:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 27
    defaultConfig {
        applicationId "com.pepperhawk.example.jbehave"
        minSdkVersion 16
        targetSdkVersion 27
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'com.android.support:appcompat-v7:27.1.1'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'com.android.support.test:runner:1.0.2'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
    androidTestImplementation "org.jbehave:jbehave-core:4.3.5"
}

我收到两个构建错误。 这是最短的:

Program type already present: org.xmlpull.v1.XmlSerializer
Message{kind=ERROR, text=Program type already present: org.xmlpull.v1.XmlSerializer, sources=[Unknown source file], tool name=Optional.of(D8)}

我已将较大的错误截断了(让我知道是否需要更多):

java.lang.RuntimeException: com.android.builder.dexing.DexArchiveMergerException: Error while merging dex archives: C:\Users\Lenny\Projects\SupportProjectsEtc\JBehave\app\build\intermediates\transforms\dexBuilder\androidTest\debug\0.jar, C:\Users\Lenny\Projects\SupportProjectsEtc\JBehave\app\build\intermediates\transforms\dexBuilder\androidTest\debug\1.jar, C:\Users\Lenny\Projects\SupportProjectsEtc\JBehave\app\build\intermediates\transforms\dexBuilder\androidTest\debug\2.jar, C:\Users\Lenny\Projects\SupportProjectsEtc\JBehave\app\build\intermediates\transforms\dexBuilder\androidTest\debug\3.jar, C:\Users\Lenny\Projects\SupportProjectsEtc\JBehave\app\build\intermediates\transforms\dexBuilder\androidTest\debug\4.jar, C:\Users\Lenny\Projects\SupportProjectsEtc\JBehave\app\build\intermediates\transforms\dexBuilder\androidTest\debug\5.jar, C:\Users\Lenny\Projects\SupportProjectsEtc\JBehave\app\build\intermediates\transforms\dexBuilder\androidTest\debug\6.jar, C:\Users\Lenny\Projects\SupportProjectsEtc\JBehave\app\build\intermediates\transforms\dexBuilder\androidTest\debug\7.jar, C:\Users\Lenny\Projects\SupportProjectsEtc\JBehave\app\build\intermediates\transforms\dexBuilder\androidTest\debug\8.jar, C:\Users\Lenny\Projects\SupportProjectsEtc\JBehave\app\build\intermediates\transforms\dexBuilder\androidTest\debug\9.jar, C:\Users\Lenny\Projects\SupportProjectsEtc\JBehave\app\build\intermediates\transforms\dexBuilder\androidTest\debug\10.jar, C:\Users\Lenny\Projects\SupportProjectsEtc\JBehave\app\build\intermediates\transforms\dexBuilder\androidTest\debug\11.jar, C:\Users\Lenny\Projects\SupportProjectsEtc\JBehave\app\build\intermediates\transforms\dexBuilder\androidTest\debug\12.jar, C:\Users\Lenny\Projects\SupportProjectsEtc\JBehave\app\build\intermediates\transforms\dexBuilder\androidTest\debug\13.jar, C:\Users\Lenny\Projects\SupportProjectsEtc\JBehave\app\build\intermediates\transforms\dexBuilder\androidTest\debug\14.jar, C:\Users\Lenny\Projects\SupportProjectsEtc\JBehave\app\build\intermediates\transforms\dexBuilder\androidTest\debug\15.jar, C:\Users\Lenny\Projects\SupportProjectsEtc\JBehave\app\build\intermediates\transforms\dexBuilder\androidTest\debug\16.jar, C:\Users\Lenny\Projects\SupportProjectsEtc\JBehave\app\build\intermediates\transforms\dexBuilder\androidTest\debug\17.jar, C:\Users\Lenny\Projects\SupportProjectsEtc\JBehave\app\build\intermediates\transforms\dexBuilder\androidTest\debug\18.jar, C:\Users\Lenny\Projects\SupportProjectsEtc\JBehave\app\build\intermediates\transforms\dexBuilder\androidTest\debug\19.jar, C:\Users\Lenny\Projects\SupportProjectsEtc\JBehave\app\build\intermediates\transforms\dexBuilder\androidTest\debug\20.jar, C:\Users\Lenny\Projects\SupportProjectsEtc\JBehave\app\build\intermediates\transforms\dexBuilder\androidTest\debug\21.jar, C:\Users\Lenny\Projects\SupportProjectsEtc\JBehave\app\build\intermediates\transforms\dexBuilder\androidTest\debug\22.jar, C:\Users\Lenny\Projects\SupportProjectsEtc\JBehave\app\build\intermediates\transforms\dexBuilder\androidTest\debug\23.jar, C:\Users\Lenny\Projects\SupportProjectsEtc\JBehave\app\build\intermediates\transforms\dexBuilder\androidTest\debug\24.jar, C:\Users\Lenny\Projects\SupportProjectsEtc\JBehave\app\build\intermediates\transforms\dexBuilder\androidTest\debug\25.jar, C:\Users\Lenny\Projects\SupportProjectsEtc\JBehave\app\build\intermediates\transforms\dexBuilder\androidTest\debug\26.jar, C:\Users\Lenny\Projects\SupportProjectsEtc\JBehave\app\build\intermediates\transforms\dexBuilder\androidTest\debug\27.jar, C:\Users\Lenny\Projects\SupportProjectsEtc\JBehave\app\build\intermediates\transforms\dexBuilder\androidTest\debug\28.jar, C:\Users\Lenny\Projects\SupportProjectsEtc\JBehave\app\build\intermediates\transforms\dexBuilder\androidTest\debug\29.jar, C:\Users\Lenny\Projects\SupportProjectsEtc\JBehave\app\build\intermediates\transforms\dexBuilder\androidTest\debug\30.jar, C:\Users\Lenny\Projects\SupportProjectsEtc\JBehave\app\build\intermediates\transforms\dexBuilder\androidTest\debug\33.jar, C:\Users\Lenny\Projects\SupportProjectsEtc\JBehave\app\build\intermediates\transforms\dexBuilder\androidTest\debug\34.jar, C:\Users\Lenny\Projects\SupportProjectsEtc\JBehave\app\build\intermediates\transforms\dexBuilder\androidTest\debug\35.jar, C:\Users\Lenny\Projects\SupportProjectsEtc\JBehave\app\build\intermediates\transforms\dexBuilder\androidTest\debug\40.jar, C:\Users\Lenny\Projects\SupportProjectsEtc\JBehave\app\build\intermediates\transforms\dexBuilder\androidTest\debug\42.jar, C:\Users\Lenny\Projects\SupportProjectsEtc\JBehave\app\build\intermediates\transforms\dexBuilder\androidTest\debug\44.jar, C:\Users\Lenny\Projects\SupportProjectsEtc\JBehave\app\build\intermediates\transforms\dexBuilder\androidTest\debug\45.jar, C:\Users\Lenny\Projects\SupportProjectsEtc\JBehave\app\build\intermediates\transforms\dexBuilder\androidTest\debug\47.jar, C:\Users\Lenny\Projects\SupportProjectsEtc\JBehave\app\build\intermediates\transforms\dexBuilder\androidTest\debug\49.jar, C:\Users\Lenny\Projects\SupportProjectsEtc\JBehave\app\build\intermediates\transforms\dexBuilder\androidTest\debug\50.jar, C:\Users\Lenny\Projects\SupportProjectsEtc\JBehave\app\build\intermediates\transforms\dexBuilder\androidTest\debug\51.jar, C:\Users\Lenny\Projects\SupportProjectsEtc\JBehave\app\build\intermediates\transforms\dexBuilder\androidTest\debug\52.jar, C:\Users\Lenny\Projects\SupportProjectsEtc\JBehave\app\build\intermediates\transforms\dexBuilder\androidTest\debug\53.jar, C:\Users\Lenny\Projects\SupportProjectsEtc\JBehave\app\build\intermediates\transforms\dexBuilder\androidTest\debug\54.jar, C:\Users\Lenny\Projects\SupportProjectsEtc\JBehave\app\build\intermediates\transforms\dexBuilder\androidTest\debug\55.jar, C:\Users\Lenny\Projects\SupportProjectsEtc\JBehave\app\build\intermediates\transforms\dexBuilder\androidTest\debug\56.jar, C:\Users\Lenny\Projects\SupportProjectsEtc\JBehave\app\build\intermediates\transforms\dexBuilder\androidTest\debug\57.jar, C:\Users\Lenny\Projects\SupportProjectsEtc\JBehave\app\build\intermediates\transforms\dexBuilder\androidTest\debug\58.jar, C:\Users\Lenny\Projects\SupportProjectsEtc\JBehave\app\build\intermediates\transforms\dexBuilder\androidTest\debug\59.jar, C:\Users\Lenny\Projects\SupportProjectsEtc\JBehave\app\build\intermediates\transforms\dexBuilder\androidTest\debug\60.jar, C:\Users\Lenny\Projects\SupportProjectsEtc\JBehave\app\build\intermediates\transforms\dexBuilder\androidTest\debug\61.jar, C:\Users\Lenny\Projects\SupportProjectsEtc\JBehave\app\build\intermediates\transforms\dexBuilder\androidTest\debug\62.jar, C:\Users\Lenny\Projects\SupportProjectsEtc\JBehave\app\build\intermediates\transforms\dexBuilder\androidTest\debug\63.jar, C:\Users\Lenny\Projects\SupportProjectsEtc\JBehave\app\build\intermediates\transforms\dexBuilder\androidTest\debug\64.jar, C:\Users\Lenny\Projects\SupportProjectsEtc\JBehave\app\build\intermediates\transforms\dexBuilder\androidTest\debug\65.jar, C:\Users\Lenny\Projects\SupportProjectsEtc\JBehave\app\build\intermediates\transforms\dexBuilder\androidTest\debug\66.jar, C:\Users\Lenny\Projects\SupportProjectsEtc\JBehave\app\build\intermediates\transforms\dexBuilder\androidTest\debug\67.jar, C:\Users\Lenny\Projects\SupportProjectsEtc\JBehave\app\build\intermediates\transforms\dexBuilder\androidTest\debug\68.jar, C:\Users\Lenny\Projects\SupportProjectsEtc\JBehave\app\build\intermediates\transforms\dexBuilder\androidTest\debug\69.jar, C:\Users\Lenny\Projects\SupportProjectsEtc\JBehave\app\build\intermediates\transforms\dexBuilder\androidTest\debug\70.jar, C:\Users\Lenny\Projects\SupportProjectsEtc\JBehave\app\build\intermediates\transforms\dexBuilder\androidTest\debug\71.jar, C:\Users\Lenny\Projects\SupportProjectsEtc\JBehave\app\build\intermediates\transforms\dexBuilder\androidTest\debug\72.jar, C:\Users\Lenny\Projects\SupportProjectsEtc\JBehave\app\build\intermediates\transforms\dexBuilder\androidTest\debug\73.jar, C:\Users\Lenny\Projects\SupportProjectsEtc\JBehave\app\build\intermediates\transforms\dexBuilder\androidTest\debug\74.jar, C:\Users\Lenny\Projects\SupportProjectsEtc\JBehave\app\build\intermediates\transforms\dexBuilder\androidTest\debug\75.jar, C:\Users\Lenny\Projects\SupportProjectsEtc\JBehave\app\build\intermediates\transforms\dexBuilder\androidTest\debug\76.jar, C:\Users\Lenny\Projects\SupportProjectsEtc\JBehave\app\build\intermediates\transforms\dexBuilder\androidTest\debug\77.jar, C:\Users\Lenny\Projects\SupportProjectsEtc\JBehave\app\build\intermediates\transforms\dexBuilder\androidTest\debug\78.jar, C:\Users\Lenny\Projects\SupportProjectsEtc\JBehave\app\build\intermediates\transforms\dexBuilder\androidTest\debug\79.jar, C:\Users\Lenny\Projects\SupportProjectsEtc\JBehave\app\build\intermediates\transforms\dexBuilder\androidTest\debug\80.jar, C:\Users\Lenny\Projects\SupportProjectsEtc\JBehave\app\build\intermediates\transforms\dexBuilder\androidTest\debug\81.jar, C:\Users\Lenny\Projects\SupportProjectsEtc\JBehave\app\build\intermediates\transforms\dexBuilder\androidTest\debug\82.jar, C:\Users\Lenny\Projects\SupportProjectsEtc\JBehave\app\build\intermediates\transforms\dexBuilder\androidTest\debug\83.jar, C:\Users\Lenny\Projects\SupportProjectsEtc\JBehave\app\build\intermediates\transforms\dexBuilder\androidTest\debug\84.jar, C:\Users\Lenny\Projects\SupportProjectsEtc\JBehave\app\build\intermediates\transforms\dexBuilder\androidTest\debug\85.jar, C:\Users\Lenny\Projects\SupportProjectsEtc\JBehave\app\build\intermediates\transforms\dexBuilder\androidTest\debug\86.jar, C:\Users\Lenny\Projects\SupportProjectsEtc\JBehave\app\build\intermediates\transforms\dexBuilder\androidTest\debug\87.jar, C:\Users\Lenny\Projects\SupportProjectsEtc\JBehave\app\build\intermediates\transforms\dexBuilder\androidTest\debug\88.jar, C:\Users\Lenny\Projects\SupportProjectsEtc\JBehave\app\build\intermediates\transforms\dexBuilder\androidTest\debug\89.jar, C:\Users\Lenny\Projects\SupportProjectsEtc\JBehave\app\build\intermediates\transforms\dexBuilder\androidTest\debug\90.jar, C:\Users\Lenny\Projects\SupportProjectsEtc\JBehave\app\build\intermediates\transforms\dexBuilder\androidTest\debug\91.jar, C:\Users\Lenny\Projects\SupportProjectsEtc\JBehave\app\build\intermediates\transforms\dexBuilder\androidTest\debug\92.jar, C:\Users\Lenny\Projects\SupportProjectsEtc\JBehave\app\build\intermediates\transforms\dexBuilder\androidTest\debug\93.jar, C:\Users\Lenny\Projects\SupportProjectsEtc\JBehave\app\build\intermediates\transforms\dexBuilder\androidTest\debug\94.jar, C:\Users\Lenny\Projects\SupportProjectsEtc\JBehave\app\build\intermediates\transforms\dexBuilder\androidTest\debug\95.jar, C:\Users\Lenny\Projects\SupportProjectsEtc\JBehave\app\build\intermediates\transforms\dexBuilder\androidTest\debug\96.jar, C:\Users\Lenny\Projects\SupportProjectsEtc\JBehave\app\build\intermediates\transforms\dexBuilder\androidTest\debug\97.jar, C:\Users\Lenny\Projects\SupportProjectsEtc\JBehave\app\build\intermediates\transforms\dexBuilder\androidTest\debug\98.jar, C:\Users\Lenny\Projects\SupportProjectsEtc\JBehave\app\build\intermediates\transforms\dexBuilder\androidTest\debug\99.jar, C:\Users\Lenny\Projects\SupportProjectsEtc\JBehave\app\build\intermediates\transforms\dexBuilder\androidTest\debug\100.jar, C:\Users\Lenny\Projects\SupportProjectsEtc\JBehave\app\build\intermediates\transforms\dexBuilder\androidTest\debug\101.jar, C:\Users\Lenny\Projects\SupportProjectsEtc\JBehave\app\build\intermediates\transforms\dexBuilder\androidTest\debug\102.jar, C:\Users\Lenny\Projects\SupportProjectsEtc\JBehave\app\build\intermediates\transforms\dexBuilder\androidTest\debug\103.jar, C:\Users\Lenny\Projects\SupportProjectsEtc\JBehave\app\build\intermediates\transforms\dexBuilder\androidTest\debug\104.jar, C:\Users\Lenny\Projects\SupportProjectsEtc\JBehave\app\build\intermediates\transforms\dexBuilder\androidTest\debug\105.jar, C:\Users\Lenny\Projects\SupportProjectsEtc\JBehave\app\build\intermediates\transforms\dexBuilder\androidTest\debug\106.jar, C:\Users\Lenny\Projects\SupportProjectsEtc\JBehave\app\build\intermediates\transforms\dexBuilder\androidTest\debug\107.jar, C:\Users\Lenny\Projects\SupportProjectsEtc\JBehave\app\build\intermediates\transforms\dexBuilder\androidTest\debug\108.jar, C:\Users\Lenny\Projects\SupportProjectsEtc\JBehave\app\build\intermediates\transforms\dexBuilder\androidTest\debug\109.jar, C:\Users\Lenny\Projects\SupportProjectsEtc\JBehave\app\build\intermediates\transforms\dexBuilder\androidTest\debug\112.jar, C:\Users\Lenny\Projects\SupportProjectsEtc\JBehave\app\build\intermediates\transforms\dexBuilder\androidTest\debug\114.jar, C:\Users\Lenny\Projects\SupportProjectsEtc\JBehave\app\build\intermediates\transforms\dexBuilder\androidTest\debug\117.jar, C:\Users\Lenny\Projects\SupportProjectsEtc\JBehave\app\build\intermediates\transforms\dexBuilder\androidTest\debug\118.jar
    at com.android.builder.profile.Recorder$Block.handleException(Recorder.java:55)
    at com.android.builder.profile.ThreadRecorder.record(ThreadRecorder.java:104)
    at com.android.build.gradle.internal.pipeline.TransformTask.transform(TransformTask.java:212)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:497)
    at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:73)
    at org.gradle.api.internal.project.taskfactory.IncrementalTaskAction.doExecute(IncrementalTaskAction.java:46)
    at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:39)
    at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:26)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$1.run(ExecuteActionsTaskExecuter.java:121)
    at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:336)
    at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:328)
    at org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:199)
    at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:110)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:110)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:92)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:70)
    at org.gradle.api.internal.tasks.execution.OutputDirectoryCreatingTaskExecuter.execute(OutputDirectoryCreatingTaskExecuter.java:51)
    at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:62)
    at org.gradle.api.internal.tasks.execution.ResolveTaskOutputCachingStateExecuter.execute(ResolveTaskOutputCachingStateExecuter.java:54)
    at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:60)
    at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:97)
    at org.gradle.api.internal.tasks.execution.CleanupStaleOutputsExecuter.execute(CleanupStaleOutputsExecuter.java:87)
    at org.gradle.api.internal.tasks.execution.ResolveTaskArtifactStateTaskExecuter.execute(ResolveTaskArtifactStateTaskExecuter.java:52)
    at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:52)
    at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:54)
    at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43)
    at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:34)
    at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker$1.run(DefaultTaskGraphExecuter.java:248)
    at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:336)
    at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:328)
    at org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:199)
    at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:110)
    at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:241)
    at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:230)
    at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.processTask(DefaultTaskPlanExecutor.java:123)
    at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.access$200(DefaultTaskPlanExecutor.java:79)
    at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker$1.execute(DefaultTaskPlanExecutor.java:104)
    at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker$1.execute(DefaultTaskPlanExecutor.java:98)
    at org.gradle.execution.taskgraph.DefaultTaskExecutionPlan.execute(DefaultTaskExecutionPlan.java:626)
    at org.gradle.execution.taskgraph.DefaultTaskExecutionPlan.executeWithTask(DefaultTaskExecutionPlan.java:581)
    at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.run(DefaultTaskPlanExecutor.java:98)
    at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63)
    at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55)
    at java.lang.Thread.run(Thread.java:745)
Caused by: com.android.builder.dexing.DexArchiveMergerException: Error while merging dex archives: C:\Users\Lenny\Projects\SupportProjectsEtc\JBehave\app\build\intermediates\transforms\dexBuilder\androidTest\debug\0.jar, C:\Users\Lenny\Projects\SupportProjectsEtc\JBehave\app\build\intermediates\transforms\dexBuilder\androidTest\debug\1.jar, C:\Users\Lenny\Projects\SupportProjectsEtc\JBehave\app\build\intermediates\transforms\dexBuilder\androidTest\debug\2.jar, C:\Users\Lenny\Projects\SupportProjectsEtc\JBehave\app\build\intermediates\transforms\dexBuilder\androidTest\debug\3.jar, C:\Users\Lenny\Projects\SupportProjectsEtc\JBehave\app\build\intermediates\transforms\dexBuilder\androidTest\debug\4.jar, C:\Users\Lenny\Projects\SupportProjectsEtc\JBehave\app\build\intermediates\transforms\dexBuilder\androidTest\debug\5.jar, C:\Users\Lenny\Projects\SupportProjectsEtc\JBehave\app\build\intermediates\transforms\dexBuilder\androidTest\debug\6.jar, C:\Users\Lenny\Projects\SupportProjectsEtc\JBehave\app\build\intermediates\transforms\dexBuilder\androidTest\debug\7.jar, C:\Users\Lenny\Projects\SupportProjectsEtc\JBehave\app\build\intermediates\transforms\dexBuilder\androidTest\debug\8.jar, C:\Users\Lenny\Projects\SupportProjectsEtc\JBehave\app\build\intermediates\transforms\dexBuilder\androidTest\debug\9.jar, C:\Users\Lenny\Projects\SupportProjectsEtc\JBehave\app\build\intermediates\transforms\dexBuilder\androidTest\debug\10.jar, C:\Users\Lenny\Projects\SupportProjectsEtc\JBehave\app\build\intermediates\transforms\dexBuilder\androidTest\debug\11.jar, C:\Users\Lenny\Projects\SupportProjectsEtc\JBehave\app\build\intermediates\transforms\dexBuilder\androidTest\debug\12.jar, C:\Users\Lenny\Projects\SupportProjectsEtc\JBehave\app\build\intermediates\transforms\dexBuilder\androidTest\debug\13.jar, C:\Users\Lenny\Projects\SupportProjectsEtc\JBehave\app\build\intermediates\transforms\dexBuilder\androidTest\debug\14.jar, 
...

为您的StoryPath尝试更多类似的方法:

@Override
protected List<String> storyPaths() {

    URL searchLoc = CodeLocations.codeLocationFromClass(this.getClass());

    return new StoryFinder().findPaths(searchLoc, Arrays.asList("**/CalcTest.story",
                                                                "**/ScrollTest.story",
                                                                ""),
                                                  Arrays.asList("**/excluded*.story"));

}

除了您的代码外,我再也没有发现其他内容,因此可能还有其他问题,但是我猜测这是您的问题。 显然,您可以用要包括的任何文件替换数组列表,这只是我Appium项目中的一个。

我的信息存储在标准的Maven文件结构中,其中testrunner本身位于src / test / java /(package文件夹)/ testrunners中,而故事则位于src / test / resources /(package文件夹)中

希望这可以帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM