문제
오이를 사용하여 도구 나 사람이 실행할 수있는 테스트 스크립트를 생성하여 표준 사용이 아닙니다.
그러나 시나리오와 예제 이름을 내 출력으로 전달하고 싶습니다.
이게 가능해?
해결책
찾았습니다 .. (Tim Walker의 도움으로)
Before do |scenario|
puts "Before Scenario: #{scenario.to_sexp[2]}"
.
.
.
end
당신의 성적인 압박은 다를 수 있으므로 할 가치가 있습니다. scenario.to_sexp.inspect
그 나무가 무엇인지 확인하기 위해.
Aslak은 자신의 수업에 속성을 노출하지 않기를 원합니다 (제가 동의하는 결정 이므로이 작업을 수행하게되어 기쁩니다).
다른 팁
더 진지한 대답 (또는 적어도 제안) : 루비의 성찰을 사용하여 원하는 것을 찾으십시오. 아마도 물체를 잡고 그들이 가지고있는 방법을 찾아서 찾을 수 있는지 확인하십시오. 예를 들어:
File.open('happy_hunting.log','a') { |f|
f.print "Scenario supports: #{(scenario.methods - Object.methods).inspect}\n"
}
그런 다음 반복하여 어디에 있는지 알아냅니다.
또 다른 제안은 소스를보십시오.
나는 무언가를했다. 디버깅에만이 정보를 사용하면 더 나은 것을 찾을 때까지 지금은 작동합니다.
@Before
public void printTestInfoBeforeScenario(Scenario scenario) {
LOGGER.info("Upcoming Test: "+scenario.getSourceTagNames());
}
@After
public void printTestInfoAfterScenario(Scenario scenario) {
LOGGER.info("Test Complete: " + scenario.getSourceTagNames() + " Status: " + scenario.getStatus());
}
제휴하지 않습니다 StackOverflow