데이터 표가있는 테스트가 있습니다. like :Spock 프레임 워크에서 "오류"리스너의 데이터 테이블 변수에 어떻게 액세스합니까?
@Unroll
"Basic session start on platform = #platform"() {
when: "user stats a session on a platform"
def response = startSession(platform, id) // it does a REST request
then: "response contains a userId"
assert verifyUserId(response.userId) // method verifies userId with an internal algorithm and returns true\false if it is valid or not
where:
id | platform
1 | "Facebook"
2 | "Google"
3 | "Apple"
}
나는 또한 오류에 대한 청취자를 작성했습니다.
class MyListener extends AbstractListener {
...
public void error(ErrorInfo error) { ... }
...
}
테스트 실행 중에 어설 션 오류가 발생하는 경우 코드가이 "오류"방법으로 넘어갑니다.
질문은 "오류"방법에서 "블록"의 변수 값을 어떻게 얻을 수 있습니까?
데이터 테이블 변수에 대한 직접적인 어설 션을 수행하지 않기 때문에 ErrorInfo.Exception에 포함되지 않습니다.
"ErrorInfo"개체의 다른 적합한 구성원을 찾을 수 없습니다. ErrorInfo.getMethod(). getFeature()에서만 변수 이름을 찾을 수 있지만 오류가 발생했을 때는 그 값이 없습니다.
전체 샘플 사양을 제공해 주시겠습니까? – Opal
피쳐 메서드의 전체 샘플을 제공했습니다. 이것이 의미하는 것입니까? 사양 그냥 클래스에 래핑, 내 경우에는 어떤 setups \ cleanups가 필요하지 않습니다. – Ubeogesh
[It] (https://github.com/Opalo/stackoverflow/tree/master/47270731) (_It_ - 링크가 있습니다.) 그것이 당신이 찾고있는 것이고 스레드 안전성이 있는지는 전혀 모른다. 그것을 밖으로 시도하십시오. – Opal