问题标签 [kotlintest]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
kotlin - How to write beforeEach and beforeClass in kotlintest
Given is the example from kotlin-test github docs, but i don't see beforeEach or beforeClass concept here. I want to understand,
- How to execute a code/method once before every test
- How to execute a code/method once before every test class
android - 尝试在 Intellij 2018.2.RC 中执行 JUnit 4 测试时出现 NoClassDefFoundError
当尝试在 Android 中执行一个非常简单的 Hello World 测试时,使用 KotlinTest:
当尝试在 IntelliJ 中执行此操作时,通过单击绿色图标,我收到以下错误:
我正在使用此依赖项:
JUnit 4 是必要的,因为 Android 还不支持 JUnit 5。
执行时./gradlew test
它可以正常工作,所以我认为这只是 IntelliJ 的问题?
testng - KotlinTest 是否也支持 TestNG?
我可以将 KotlinTest 与 TestNG 一起使用吗?我只能在文档中看到 JUnit 。
android - Android Studio 默认 Junit Runner
我正在尝试编写测试。我有:
- 安卓工作室 3.1.4,
- 梯度 4.7
- io.kotlintest:kotlintest-runner-junit4:3.1.9
当我通过绿色箭头运行测试时,我看到:
但是当我通过 cli-gradle task 运行时:test 一切都很好。
当我通过 gui 中的绿色箭头运行测试时,如何获得相同的行为?
spring - 未使用 KotlinTest 3.1.8 初始化 Spring Autowire
我知道这应该是可能的,因为其他人报告说它有效。但是,在一个简单的“演示”项目(Spring Initializer)中,我无法在测试中初始化 autowired 属性。
当我在“JpaTestApplicationTests”中执行测试时,我无法通过接收“lateinit property repo has not been initialized kotlin.UninitializedPropertyAccessException”。
谁能帮我理解我做错了什么?
下面是我的应用程序文件,要自动装配和测试的 bean:
应用:
豆:
测试:
相关 Gradle 条目:
android - 使用 gradle kotlin dsl 时未解决的参考 kotlintest
这是我的build.gradle.kts
:
构建它时./gradlew build
没有发生错误,但如果我使用文档中的指定代码:
我收到以下错误:Task with name 'test' not found in project ':app'.
我的settings.gradle.kts
:
有谁知道这里发生了什么?奇怪的是 AS 可以建议我自动完成,但在编译时,我得到了这个未解决的参考。
unit-testing - 如何在 kotlin 方法签名中模拟/匹配 lambda
我在以下表格上有一些代码:
它使用来自com.github.andrewoma.kwery.core的以下内容。注意方法签名中的 lambda:
我使用 mockitokotlin2。
当使用选择查询(包含“SELECT foo”)调用会话选择方法时,我需要返回 MyObject 的实例。
我在想我可以将一个模拟传递给 lambda,如下所示(但它与我试图模拟的方法调用不匹配)。下面的代码是一个尝试。但它从不匹配eq(function2)
:
在我的情况下,function2 并不是真正的映射器,它与我要模拟的内容不相等,它永远不会匹配并且永远不会调用模拟。
那么在上面的代码中,我应该在 mock 中session, select
而不是eq(function2)中放置什么来返回 MyObject 对象?
jenkins - 在 Jenkins 管道中生成完整的 kotlintest 报告?
我正在使用带有gradle的 kotlintest。当我在 IntelliJ 中运行测试时,我可以看到整个 Given/When/Then结构。这也反映在我可以使用 IntelliJ 导出测试结果功能生成的报告中。这完美地工作并且完全符合我的要求。
可悲的是,当我使用gradlew test
它运行测试时,只会拾取 Then 块。这意味着虽然所有测试都正确运行,但生成的报告看起来很难看。
问题是我想在 Jenkins 管道中自动生成 HTML 报告。目前结果是无用的,因为它不包含 Given 和 When 块。
是否有可能以某种方式生成完整的 HTML 报告,在 Jenkins 管道中包含所有 Given/When/Then 块?
spring-boot - Kotlintest 与 Spring 测试,@Transactional 不工作/应用
我无法让 Spring Boot 2.0.5 与 Kotlintest 3.1.10 很好地配合使用。
我做了一个测试项目来说明我遇到的问题。该项目是一个带有两个实体的Spring Boot 2应用程序,ShoppingOrder 和 OrderLine(完全没有想象力)。
还有一个测试用例ShoppingOrderSpec
,它只是通过存储和检索订单来测试映射。
测试用例配置如下:
测试用例使用 Spring 的SpringExtension
连接到 JUnit 5 引擎。它还使用来自KotlintestSpringListener
的and来构建测试并进行断言。Wordspec
正确地SpringListener
自动装配依赖关系,但不知何故没有创建事务。
运行测试用例会给出以下堆栈跟踪:
2018-10-12 10:54:14.329 INFO 59374 --- [intest-engine-0] com.example.demo.ShoppingOrderSpec:在 4.478 秒内启动 ShoppingOrderSpec(JVM 运行 7.421)org.hibernate.LazyInitializationException:懒惰失败初始化角色集合:com.example.demo.ShoppingOrder.lines,无法初始化代理 - org.hibernate.collection.internal.AbstractPersistentCollection.throwLazyInitializationException(AbstractPersistentCollection.java:582) 处没有会话 ...在 com.example。 demo.ShoppingOrderSpec$1$1.invoke(ShoppingOrderSpec.kt:35) at com.example.demo.ShoppingOrderSpec$1$1.invoke(ShoppingOrderSpec.kt:19)
所以,不知何故,org.springframework.transaction.annotation.Transactional
注释似乎不起作用,因为删除注释,只是给出了相同的响应。
任何人有任何想法如何得到@Transactional
应用和尊重?