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