오이의 시나리오와 예제 이름에 어떻게 액세스 할 수 있습니까?

StackOverflow https://stackoverflow.com/questions/664415

  •  21-08-2019
  •  | 
  •  

문제

오이를 사용하여 도구 나 사람이 실행할 수있는 테스트 스크립트를 생성하여 표준 사용이 아닙니다.

그러나 시나리오와 예제 이름을 내 출력으로 전달하고 싶습니다.

이게 가능해?

도움이 되었습니까?

해결책

찾았습니다 .. (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());
}
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top