无法在 spock 测试中调用 java 构造函数
Can't call java constructor in spock test
我正在尝试从 class 调用 java 构造函数,它在 Spock 测试中扩展了 GebSpec。
我有这个错误:"Constructors are not allowed; instead, define a 'setup()' or 'setupSpec()' method"。
我需要这样的电话:
public class Slider extends GebSpec{
private elem
public Slider(selector) {
this.elem = page.driver.findElement(By.id(selector))
}
class Mytest extends GebSpec {
def "try_to_call"() {
given:
to SomePage;
when:
Slider slider = new Slider("slider");
then:
....some code....
}
}
Mocking Constructor
本身的 Spock 文档显示为 -
(Think twice before using this feature. It might be better to change
the design of the code under specification.)
Global mocks support mocking of constructors:
您的用例可能是 -
def someSlider = GroovySpy(Slider, global: true)
1 * new Slider("slider")
Slider
不应该扩展 GebSpec
因为那样你会实例化并从测试中调用测试。让 Spock 或 JUnit 完成 运行 测试,好吗?
不要尝试从另一个测试中调用测试。这是个坏主意))
我正在尝试从 class 调用 java 构造函数,它在 Spock 测试中扩展了 GebSpec。 我有这个错误:"Constructors are not allowed; instead, define a 'setup()' or 'setupSpec()' method"。 我需要这样的电话:
public class Slider extends GebSpec{
private elem
public Slider(selector) {
this.elem = page.driver.findElement(By.id(selector))
}
class Mytest extends GebSpec {
def "try_to_call"() {
given:
to SomePage;
when:
Slider slider = new Slider("slider");
then:
....some code....
}
}
Mocking Constructor
本身的 Spock 文档显示为 -
(Think twice before using this feature. It might be better to change the design of the code under specification.)
Global mocks support mocking of constructors:
您的用例可能是 -
def someSlider = GroovySpy(Slider, global: true)
1 * new Slider("slider")
Slider
不应该扩展 GebSpec
因为那样你会实例化并从测试中调用测试。让 Spock 或 JUnit 完成 运行 测试,好吗?
不要尝试从另一个测试中调用测试。这是个坏主意))