我正在使用scalatest如下:
@IBAction func editButtonPressed() {
tableView.isEditing = !tableView.isEditing
}
如您所见,函数class AuthLdapSpec extends FlatSpec with Matchers {
"The user" should "be signin successfully." in {
AuthLdap.signin("user@example.com")("password").value.unsafeRunSync() match {
case Right(r) => println(r)
case Left(l) => println(l)
}
}
}
返回AuthLdap.signin("user@example.com")("password").value.unsafeRunSync()
如何验证返回类型是Either[A, B]
还是Right
?
我尝试过如下:
Left
但是编译器抱怨道:
错误:(15,93)[Artima SuperSafe]类型的值 [String,io.khinkali.auth.AuthLdapUser]和scala.util.Right.type 可能无法与ScalaTest的matcher语法进行相等性比较。 如果您确实希望编译此表达式,请配置Artima SuperSafe允许[String,io.khinkali.auth.AuthLdapUser]和 scala.util.Right.type要进行相等性比较。更多 有关此类错误的信息,请参阅: http://www.artima.com/supersafe_user_guide.html#safer-equality
答案 0 :(得分:1)
或者,如果你只是想声称它是一个“正确的”。有任何价值
AuthLdap.signin("user@example.com")("password").value.unsafeRunSync().isRight should be true
答案 1 :(得分:0)
请查看相关的ScalaTest documentation
基本上,你通过
检查AuthLdap.signin("user@example.com")("password").value.unsafeRunSync().right should be "user@example.com"`
或Right
值应为