- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 Kotlintest 和数据表来测试使用 Kotlin、SpringBoot 和 Gradle 的应用程序,因为当您的表中有复杂数据时,语法比 ParameterizedJunitTests 更简洁。
有没有办法像parameterized tests in JUnit那样在方法标题中使用参数名称? ?此外,我所有的测试执行都列为一个测试,但我想在每个数据表行的测试结果中有一行。我在 Documentation 中没有找到这两个主题。 .
为了让事情更清楚一个 Kotlintest 的例子:
class AdditionSpec : FunSpec() {
init {
test("x + y is sum") {
table(
headers("x", "y", "sum"),
row(1, 1, 2),
row(50, 50, 100),
row(3, 1, 2)
).forAll { x, y, sum ->
assertThat(x + y).isEqualTo(sum)
}
}
}
}
以及相应的 JUnit 示例:
@RunWith(Parameterized::class)
class AdditionTest {
@ParameterizedTest(name = "adding {0} and {1} should result in {2}")
@CsvSource("1,1,2", "50, 50, 100", "3, 1, 5")
fun testAdd(x: Int, y: Int, sum: Int) {
assertThat(x + y).isEqualTo(sum);
}
}
在kotlintest中使用数据表的时候有没有类似@ParameterizedTest(name = "adding {0} and {1} should result in {2}")
的东西?
最佳答案
您可以反向嵌套。不要在 test
中使用 table
,只需将 test
嵌套在 table
中即可。
class AdditionSpec : FunSpec() {
init {
context("x + y is sum") {
table(
headers("x", "y", "sum"),
row(1, 1, 2),
row(50, 50, 100),
row(3, 1, 2)
).forAll { x, y, sum ->
test("$x + $y should be $sum") {
x + y shouldBe sum
}
}
}
}
}
关于gradle - Kotlintest 中的数据表测试 - 高级方法名称和测试用例的传播,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58303081/
JUnit 5 有一个简洁的扩展功能,它与 kotlintest 不兼容,即使它运行在 JUnit 框架上。虽然我们只需要记录一些东西的简单用例可以由 TestListener 处理,但我们无法处理更
我正在使用 Kotlintest 和数据表来测试使用 Kotlin、SpringBoot 和 Gradle 的应用程序,因为当您的表中有复杂数据时,语法比 ParameterizedJunitTest
这是使用 KotlinTest 1.3.5 的测试代码。 val expect = 0.1 val actual: Double = getSomeDoubleValue() actual shoul
似乎我无法从 Kotlintest v3.4.2 访问 shouldMatchJson 匹配器,方法记录在 https://github.com/kotlintest/kotlintest/blob/
我有一些共享通用设置的测试用例。它们都需要两个可以用相同方式初始化的字段。所以我想我可以将它们提取到 lateinit var 字段中并在测试用例拦截器中创建它们。 但是当我尝试在我的测试用例中访问它
我正在尝试使用 Gradle 从 Kotlintest 获取分层测试报告。我已经看到了一些允许它的屏幕截图,但是,我没有运气。对于任何类型的测试(FunSpec、WordSpec、BehaviorSp
我正在尝试将 kotlintest 与 Spring 一起使用(不是 Spring Boot,只是标准的 spring-test)。我发现这很难做到。关于我做错了什么的任何指示?我也有点像 Kotli
我试图为我的 kotlin spring 应用程序编写一个集成测试。 为此,我使用了 kotlintest 框架。因为我需要在我的应用程序中模拟其中一个 bean,所以我还添加了带有 springmo
我有一个与演示者通信的界面,演示者检查表单的字段是否有效。 我的界面是: interface MainView { fun showMessage(data: LoginEntity) fun
从 Intellij 启动时,kotlintest 测试运行得非常好,但是当我尝试使用 gradle test task 命令运行它们时,只能找到并运行我的常规 JUnit 测试。 kotlintes
给出的是来自 kotlin-test github docs 的示例,但我在这里没有看到 beforeEach 或 beforeClass 概念。我想明白, 如何在每次测试前执行一次代码/方法 如何在
我写了以下测试: @RunWith(SpringJUnit4ClassRunner::class) class KotlinTest : BehaviorSpec() { init {
据我所知,Kotest 需要 JUnit 5: https://github.com/kotest/kotest/issues/1104 它还需要 Gradle 6: https://github.c
我想要什么? 我想使用 kotlintest 运行我的测试,我通过单击测试类旁边的图标成功地从 IntelliJ 运行它们。我也有JUnit 5在我的项目中进行测试。我现在开始使用 Gradle Ko
如何将以下内容注入(inject)测试,因为不允许构造函数参数 并且它无法初始化注入(inject)的bean @MicronautTest class ApplicationTest:StringS
我是一名优秀的程序员,十分优秀!