gpt4 book ai didi

kotlin - 没有参数的步骤定义不可能吗?

转载 作者:行者123 更新时间:2023-12-02 13:30:42 25 4
gpt4 key购买 nike

我有以下情况:

Feature: Spheres
Scenario: A ray intersects a sphere at two points
Given r ← ray(point(0, 0, -5), vector(0, 0, 1))
And s ← sphere()
When xs ← intersect(s, r)
Then xs.count = 2
And xs[0] = 4.0
And xs[1] = 6.0

为了保持简单,我想我应该从字面上编写步骤定义:

import io.cucumber.java8.En

class SphereStepDefinitions: En {
private val epsilon: Double = 0.00001
lateinit var s: Sphere
lateinit var xs : List<Double>

init {
Given("s ← sphere\\()") {
s = Sphere()
}
}
}

结果,

The step "s ← sphere()" is undefined. You can implement it using the snippet(s) below:

Given("s ← sphere\\()", () -> {
// Write code here that turns the phrase above into concrete actions
throw new io.cucumber.java8.PendingException();
});

这与我已经指定的步骤字符串完全相同。 :(

我已经在项目中执行了许多工作步骤,但是我认为这是我尝试的第一个没有任何参数的步骤……这仅仅是行不通的吗?

我在Java 11上将Cucumber-jvm 5.7.0(也尝试过5.6.0和6.0.0-RC2)与Kotlin 1.3.72一起使用。

最佳答案

您正在使用Cucumber表达式。看起来像Cucumber doesn't generate the proper cucumber expression snippet

您可以使用常规表达式(通过使用^$):
^s ← sphere\\(\\)$
或使用:
s ← sphere()解决该错误。我建议前者胜过后者。

关于kotlin - 没有参数的步骤定义不可能吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61725664/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com