【发布时间】:2019-11-11 06:56:48
【问题描述】:
我有一个像下面这样的集合
val buffer: Buffer[Try[E]]
我想断言buffer 内不包含任何Failure。理想情况下我想这样做
buffer should not contain a[Failure[_]]
但是它似乎没有正确检查类型。
【问题讨论】:
我有一个像下面这样的集合
val buffer: Buffer[Try[E]]
我想断言buffer 内不包含任何Failure。理想情况下我想这样做
buffer should not contain a[Failure[_]]
但是它似乎没有正确检查类型。
【问题讨论】:
您能具体说明您的问题吗?
以下代码编译运行
src/test/scala/Test1.scala
import org.scalatest.FlatSpec
import org.scalatest.Matchers._
import scala.collection.mutable
import scala.collection.mutable.ListBuffer
import scala.util.{Failure, Success, Try}
class Test1 extends FlatSpec {
class E
val buffer: mutable.Buffer[Try[E]] = ListBuffer(Success(new E), Success(new E))
buffer should not contain a[Failure[_]]
}
a/an 应该与
an [IndexOutOfBoundsException] should be thrownBy s.charAt(-1)
http://www.scalatest.org/user_guide/using_matchers
试试
buffer filter(_.isFailure) should be (empty).
【讨论】:
buffer should not contain a[Success[_]],它也会通过
a/an 应该与 an [IndexOutOfBoundsException] should be thrownBy s.charAt(-1) scalatest.org/user_guide/using_matchers 等异常一起使用
buffer filter(_.isFailure) should be (empty)。