2017-01-30 3 views
0

Spock 테스트에서 GebSpec을 확장하는 클래스에서 java 생성자를 호출하려고합니다. 이 오류가 발생했습니다 : "생성자는 허용되지 않으며 대신 'setup()'또는 'setupSpec()'메서드를 정의하십시오.Spock 테스트에서 java 생성자를 호출 할 수 없습니다.

def someSlider = GroovySpy(Slider, global: true) 

1 * new Slider("slider") 

답변

0

다른 테스트에서 테스트를 호출하지 마십시오. 나쁜 생각이야))

0

스팍 문서 Mocking Constructor을 위해 : 나는 그런 일을 호출 할 필요 왜냐하면 테스트에서 인스턴스를 만들고 호출하기 때문입니다. Spock 또는 JUnit이 테스트를 실행하기 위해 작업하게하십시오.

+1

Thx .... 여전히 작동하지 않습니다. ((( – PanamaBoy

1

SliderGebSpec을 연장해서는 안 - 아마도 같은 수 사용 사례를 들어

(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:

- 자체 읽기

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.... 
    } 
} 
+0

예 ... 당신 말이 맞습니다))) 나쁘다 ( – PanamaBoy