0
我沒有找到的cats
一樣,所以我寫的匹配ValidatedNel
specs2
的匹配:Specs2匹配器進行驗證,並ValidatedNel
import cats.data._
import cats.implicits._
import org.specs2.matcher.Matcher
type ValidationFailure = String
type ValidationResult[A] = ValidatedNel[ValidationFailure, A]
def beValid: Matcher[ValidationResult[_]] =
beTrue ^^ ((_: ValidationResult[_]).isValid)
def beInvalid(failure: ValidationFailure): Matcher[ValidationResult[_]] =
beEqualTo(failure.invalidNel)
def beInvalid[A: Monoid](failures: ValidationFailure*): Matcher[ValidationResult[A]] =
beEqualTo(failures.toList foldMap (_.invalidNel[A]))
是否有意義?你會如何改進它?
感謝您的回覆。我可能會改變我的匹配器。我也會看看'specs2-cats'模塊。 – Michael