- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我有一个现有的 Java 项目,我希望在其中引入一些规范测试(在 kotlin ofc 中)
class CalcSpec: Spek({
given("A calculator") {
val calculator = Calculator()
on("Adding 3 and 5") {
val result = calculator.sum(3, 5)
it("Produces 8") {
org.junit.jupiter.api.Assertions.assertEquals(8, result)
}
}
}
})
我已经添加了 spek 依赖项
<dependency>
<groupId>org.jetbrains.spek</groupId>
<artifactId>spek-api</artifactId>
<version>1.1.5</version>
<type>pom</type>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.jetbrains.spek</groupId>
<artifactId>spek-junit-platform-engine</artifactId>
<version>1.1.5</version>
<type>pom</type>
<scope>test</scope>
</dependency>
并按照此处所述配置了 kotlin-maven-plugin 和 maven-compiler-plugin https://kotlinlang.org/docs/reference/using-maven.html#compiling-kotlin-and-java-sources
(从问题中省略 maven-compiler-plugin 配置)
<build>
<plugins>
<plugin>
<artifactId>kotlin-maven-plugin</artifactId>
<groupId>org.jetbrains.kotlin</groupId>
<version>1.0.6</version>
<executions>
<execution>
<id>test-compile</id>
<phase>process-test-sources</phase>
<goals> <goal>test-compile</goal> </goals>
<configuration>
<sourceDirs>
<sourceDir>${project.basedir}/src/test/kotlin</sourceDir>
</sourceDirs>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.19.1</version>
<configuration>
<useManifestOnlyJar>false</useManifestOnlyJar>
<includes>
<include>**/*Spec.*</include>
</includes>
</configuration>
<dependencies>
<dependency>
<groupId>org.junit.platform</groupId>
<artifactId>junit-platform-surefire-provider</artifactId>
<version>1.0.0</version>
</dependency>
</dependencies>
</plugin>
...
</plugins>
</build>
我尝试过不同版本的 kotlin、spek 和 Surefire 插件,但到目前为止还没有成功。
每次我尝试运行测试时,都不会执行 Spek 测试,即使它们位于 target/test-classes
中。 (对于 CalcSpec,生成了 5 个 .class 文件)
最佳答案
我知道您说过您尝试过不同的版本,但请尝试 Surefire 2.19 和 Junit-platform 1.1.0-M2。
不久前我也遇到了同样的问题,这些对我有用。
关于java - Spek 测试未在 Maven Java 项目中运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52735929/
Spek 文档引用 As a best practice you typically want test values to be unique for each test this can be d
我检查了文档: https://spekframework.org/migration/#maven-coordinates 我想试用版本 2.x.x,所以我添加了 build.gradle : te
这是我的测试: object MySpek : Spek({ val myMock1: MyMock1 = mock() val myMock2: MyMock2 = mock()
有些测试需要运行数据库,例如,使用测试容器库。启动它显然需要时间。 有没有办法对跨越多个文件的整个 Spek 套件只执行一次此操作?文档对此没有任何说明。 有人知道为什么这还没有实现吗? 最佳答案 这
我正在努力了解 Spek 中的固定装置。 The Calculator example in the docs很容易理解,但我不确定当一些固定装置是有状态的时候如何进行结构化设置/拆卸。例如,如果我正
我正在尝试使用 Spek 测试 Retrofit api 它在 on{...} block 上抛出 nullPointerException 相关堆栈跟踪:https://pastebin.com/g
我正在使用 Kotlin、Spring 和 Spek 实现简单的微服务。我想测试我的存储库,但我想知道如何将 repo 注入(inject) spek 测试用例。每个示例或教程都基于创建这样的新引用:
我写了一个失败的 Spek 测试,因为我对涉及多个协程和 it 的执行顺序做出了错误的假设。职能: given("a test") { runBlocking { print("a") }
我有一个现有的 Java 项目,我希望在其中引入一些规范测试(在 kotlin ofc 中) class CalcSpec: Spek({ given("A calculator") {
我试图将我的测试区分为单元测试和集成测试。我的想法是使用新的 JUnit5 注释 @Tag("unit"),它非常适合我的 JUnit 测试,但我无法让它与 Spek 一起工作。 我目前拥有的是我的类
我正在尝试将 Spek 测试框架添加到我的 Android Studio 项目中。按照说明Here ,我最终将以下内容添加到我的模块 build.gradle: testCompile 'org.je
我想为我的测试使用一个通用的夹具: @RunWith(JUnitPlatform::class) abstract class BaseSpek: Spek({ beforeGroup {pr
对 Kotlin 有点熟悉,我想给它介绍另一个 Android-Java 项目,作为测试的第一步。我决定直接从 Spek 开始. 我在待测模块的build.gradle中添加了如下依赖: testCo
我有一个基于 Gradle 的 Kotlin 项目,其中包含一些 Spek测试,基于 JUnit 并且应该与 Idea 兼容。 但我在上下文菜单中没有看到“运行”菜单项。 为什么?为了能够像其他 JU
严格重现我的问题的 repo :https://github.com/paul-hammant/kotlin-webdriver-snafu 规范,再简单不过了: class WebDriverSpe
spek 尝试查找测试时我遇到了崩溃。我尝试了许多不同的版本和示例配置。我从命令行运行。 Gradle 4.0,mac osx。任何帮助将不胜感激! 这里是错误: WARNING: TestEngin
如何使用 kotlin 启动 spek 测试以测试是否已调用 HTTP 方法 post?让我失望的是我在模拟上下文时遇到了麻烦。我想传入 HttpMethod.POST 以外的方法来触发 else b
我很难配置基于 JUnit Jupiter 的测试环境 (5)。我在那里有两个不同的错误: WARNING: TestEngine with ID 'spek' failed to discover
我是在 kotlin 测试中使用 spek 的新手。使用 spek 时,在 logcat 上出现以下错误。我不明白我为什么得到这个 java.lang.ClassNotFoundException:
我是一名优秀的程序员,十分优秀!