我有一个用 Java 编写的 Android 项目,正在 Android Studio 中处理。
我想使用 Cucumber 对一些内部组件进行集成测试(注意:我知道这不是 BDD 方式,但对我来说很有用)。我希望测试以 local unit tests 运行(没有 Instrumentation)使用 gradlew test ,因为被测组件不与 Android SDK 交互。
我的问题是,Cucumber 功能无法被 Gradle 识别,并且在我运行 gradlew test
时不会运行。
到目前为止我的设置方式如下:
将这些依赖项添加到我的应用的 build.gradle 中:
testImplementation 'io.cucumber:cucumber-java:3.0.2' testImplementation 'io.cucumber:cucumber-junit:3.0.2' testImplementation 'io.cucumber:cucumber-jvm:3.0.2'
此外,我还添加了放置功能文件的路径:
android { ... sourceSets { test { assets.srcDirs = ['src/test/java/integrationTest/assets'] } } }
这是基于此文件夹结构:
添加了步骤类 (
Steps1.java
),如上所示。
我在这里缺少什么?
最佳答案
您的功能文件可能不会被拾取,因为您没有包含运行者。您可以创建 JUnit Runner或使用Gradle cucumber plugin 。我不确定这两者是否适用于 Android。
此外,您也不需要 io.cucumber:cucumber-jvm:3.0.2
作为依赖项。它只是一个 pom。
关于java - 如何使 Cucumber 功能作为本地单元测试在 Android 项目中运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52348197/