Spock은 정적 변수 만 블록에서 액세스 할 수 있도록 허용합니다.인스턴스 변수를 Spock 테스트의 섹션에서 사용하는 방법
Where 블록에서 어떤 인스턴스 변수를 사용할 수있는 방법이 있습니까?
Spock은 정적 변수 만 블록에서 액세스 할 수 있도록 허용합니다.인스턴스 변수를 Spock 테스트의 섹션에서 사용하는 방법
Where 블록에서 어떤 인스턴스 변수를 사용할 수있는 방법이 있습니까?
@Shared
으로 인스턴스 변수에 주석을 달 수 있습니다 (http://spockframework.github.io/spock/docs/1.0/data_driven_testing.html#sharing-of-objects-between-iterations 참조).
주의 : 공유 인스턴스 변수는 반복 사이에 값을 유지하고 메소드간에 공유됩니다. 이것을 원하지 않으면 접근법을 사용하지 마십시오. 그러나 이해해 주시면 어쨌든 where
블록에서 테이블을 사용하여 변수 값을 초기화하므로 괜찮습니다.
당신이하려는 일에 대한 코드 샘플이 있습니까? – brwngrldev
where-block에서 인스턴스 변수를 사용할 수있는 해결 방법은 없습니다. 더 큰 목표를 해결할 방법이있을 수 있지만 설명해야합니다. –
@PeterNiederwieser - 파생 클래스가 변수를 선언해야하므로 필드의 추상 getter를 선언하려고했는데 where 블록에서이 변수의 필드에 액세스하려고합니다. 파생 클래스에서 변수를 선언하면 작동하지 않지만 해결 방법을 찾았습니다. 파생 클래스에서는 변수를 선언하지 않았지만 getter에서 반환 된 익명 개체를 반환했습니다. –