2012-09-21 2 views
0

Specs2에서는 ScalaCheck를 가변 사양으로 사용할 때/When/Then 스타일을 사용하고 있으며 일반적으로 ScalaCheck Gen 개체를 생성하는 단계가 있으며 이동하려고합니다. 그 단계가있는 모든 테스트의 공통 수퍼 클래스에 넣습니다. (글쎄, 사실, 특성으로하지만, 어쩌면 그 차이가 없습니다.)specs2 : 수퍼 클래스로 일반적인 이동

그러나 내 테스트에는 올바른 순서로 실행해야하는 상당히 복잡한 설정 코드가 있으며, 이미 꽤 깊은 내 사양 2 테스트 코드의 클래스 계층 구조와 지금까지 올바른 순서로 실행되도록 시도한 모든 트릭은 실행 순서를 동일하게 유지하지 못했습니다. 그것의 얼굴에, 그것은 이상하게 보일 것입니다. 이것은 어렵습니다. 물론 스펙 2가 이런 상황에서 실제로 어떻게 동작하는지 모르겠습니다. 그래서 저는 단지 추측을하고 있습니다.

제 질문은 중요한 단계에서 실행 순서에 영향을주지 않고 주어진 단계를 수퍼 클래스 또는 특성으로 어떻게 이동할 수 있습니까?

답변

1

로켓 과학이 아닙니다. 모든 설정 코드가 실행 된 후 명시 적으로 주어진 단계를 호출하는 것입니다. 따라서 주어진 단계를 메소드에 넣고 설정 코드 다음에이 메소드를 호출 할 수 있습니다.

더 복잡한 해결책이 반드시 작동하지는 않습니다. step 안에 넣지 마십시오.

관련 문제