android - 如何将 cucumber 集成到android-maven测试项目中?

标签 android maven cucumber functional-testing

我想将 Cucumber 集成到一个使用 Maven 作为构建系统的 android-test 项目中。 测试项目与主项目分离,它只包含基于 robotium 的功能测试。我关注了this教程和示例 here , 但在测试阶段我得到: 0 tests found.. 有任何想法吗?提前致谢。

最佳答案

埃里克。 我不推荐此链接,但请注意,您必须将所有 cucumber 依赖项都用于编译范围。使用 Junit4 将提供 duplicationDependency,但使用此命令构建:

build command:    mvn clean install  -Dandroid.extractDuplicates=true

pom.xml 的一部分

<dependency>
 <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.11</version>
        <scope>compile</scope>
    </dependency>

    <!-- cucumber -->
    <dependency>
        <groupId>info.cukes</groupId>
        <artifactId>cucumber-core</artifactId>
        <version>1.2.0</version>
        <scope>compile</scope>
    </dependency>
    <dependency>
        <groupId>info.cukes</groupId>
        <artifactId>cucumber-android</artifactId>
        <version>1.2.0</version>
        <scope>compile</scope>
    </dependency>
    <dependency>
        <groupId>info.cukes</groupId>
        <artifactId>cucumber-html</artifactId>
        <version>0.2.3</version>
        <scope>compile</scope>
    </dependency>
    <dependency>
        <groupId>info.cukes</groupId>
        <artifactId>cucumber-java</artifactId>
        <version>1.2.0</version>
        <scope>compile</scope>
    </dependency>
    <dependency>
        <groupId>info.cukes</groupId>
        <artifactId>cucumber-junit</artifactId>
        <version>1.2.0</version>
        <scope>compile</scope>
    </dependency>
    <dependency>
        <groupId>info.cukes</groupId>
        <artifactId>cucumber-jvm-deps</artifactId>
        <version>1.0.3</version>
        <scope>compile</scope>
    </dependency>
    <dependency>
        <groupId>info.cukes</groupId>
        <artifactId>gherkin</artifactId>
        <version>2.12.2</version>
        <scope>compile</scope>
    </dependency>
    <dependency>
        <groupId>info.cukes</groupId>
        <artifactId>cucumber-picocontainer</artifactId>
        <version>1.1.5</version>
        <scope>compile</scope>
    </dependency>
</dependencies>

AndroidManifest.xml部分内容(应用的id,你要测试的com.myproject.android):

   <instrumentation
        android:name="cucumber.api.android.CucumberInstrumentation"
        android:targetPackage="com.myproject.android" />

关于android - 如何将 cucumber 集成到android-maven测试项目中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27483998/

相关文章:

android - 按钮填充 TableLayout 中的整行?

android - 图像未存储在缓存中

android - 如何在对话框中处理后退按钮?

java - MiniDFSCluster UnsatisfiedLinkError org.apache.hadoop.io.nativeio.NativeIO$Windows.access0

java - Maven Unicode 编码构建失败

java - 如何在公司外网使用maven?

java - 有没有办法为多个 Runner 类运行的多个功能文件创建一个 Cucumber 报告?

java - Maven 项目测试无法找到 Cucumber 测试以在命令行上运行功能测试(适用于 Cucumber)

java - 如何在 cucumber 测试中匹配括号

android - 为什么我们需要 ViewModelProvider.Factory 来将 View 模型传递给屏幕?