같은 시나리오 테스트를 표시, 나는 "실패"케이스 클래스 (즉 ApplesNotAllowed
) 보내고 scalaz
분리를 통해 사용됩니다 내 코드의 일부를 가지고있다.ScalaTest는 : <code>FeatureSpec</code>과 테스트를 통해 작업 및 <code>scenario</code> 사용하는 경우 예상 실패
빠른 예 : 나는 그것을 shouldBe None
것을 예상하여 Option.empty[Orange]
을받을 경우 내 테스트 스위트에서
val result = if (order.value != 10) {
-\/(ApplesNotSupported(orderNumber))
} else {
\/-Option.empty[Orange]
}
, 나는 쉽게 사건을 테스트 할 수 있습니다. 그러나 ApplesNotSupported
사례 클래스가 반환되는지 테스트하려고 할 때 문제가 발생합니다. 우리가 "실패"를 원하기 때문에 통과 한 것으로 인정할이 "실패"를 어떻게 기대합니까? 내 시나리오를 실행하려고 할 때마다, 나는 오류가 발생합니다 :
interrupt
를 사용하여 시도
Validation is not success ApplesNotSupported(orderNumber)
않으며 우리가 의도적으로 fail
시험에 싶어. scalaz
및 ScalaTest
을 사용할 때 문제가 될 수 있습니까?
전반적인 스칼라에서 함수형 프로그래밍과 프로그래밍에 대해 상당히 새롭기 때문에 문서를 찾는 데 문제가 있으므로 모든 리소스 나 제안이 도움이됩니다. https://github.com/typelevel/scalaz-scalatest/blob/master/src/main/scala/DisjunctionMatchers.scala
이는 분리의 결과에 따라 테스트하는 가장 좋은 방법입니다 : disjunctions을 테스트 할 때 당신은 분리를 사용하여에보고 할 수 있습니다
감사 기준과 함께 그것을 지적. 나에게도 우리는 분리를 사용하여 시험을해야하고, 최종 결과를 보는 것에 너무 집중했다. – abhi