【发布时间】:2018-01-19 08:47:47
【问题描述】:
我想使用ScalaTest 测试Scalaz 的运算符===。
我已经写了简单的测试:
class ComparisonTest extends FunSuite {
test("=== operator of Scalaz") {
assert(1 === 1) // i want to check/test === operator of Scalaz
}
}
不幸的是,在我的测试的assert 中,scala 从ScalaTest 中选择了运算符===。如果我显式导入它并没有帮助:
import scalaz.Scalaz._
import scalaz._
我也试过了:
import scalaz.syntax.EqualOps
assert(new EqualOps[Int](1).===(1)) }
但它没有编译:
Error:(10, 12) constructor EqualOps in class EqualOps cannot be accessed in class ComparisonTest
assert(new EqualOps[Int](1).===(1)) }
有没有办法在FunSuite 的测试中对Scalaz ===operator 进行这种测试? (也许 somhow 禁用 === of ScalaTest)
【问题讨论】:
-
欢迎来到我的生活。 :) 我们最终定义了自己的
====运算符,它需要一个隐式的 scalaz Equal[A] 实例。 -
是的,这是我也发现的一个选项和解决方法,但我只是想知道是否可以在没有额外操作员的情况下进行这样的测试。
-
如果你发现了一些有趣的东西,请在这里发帖 :) 正因为如此,我什至考虑迁移到其他测试库。