Коллекция утверждений ScalaTest содержит тип - PullRequest
0 голосов
/ 01 ноября 2019

У меня есть коллекция, как показано ниже

val buffer: Buffer[Try[E]]

, и я хочу утверждать, что в пределах buffer не содержится Failure. В идеале я хочу сделать это следующим образом

buffer should not contain a[Failure[_]]

Однако не похоже, что он проверяет тип правильно.

1 Ответ

0 голосов
/ 01 ноября 2019

Не могли бы вы указать свою проблему?

Следующий код компилируется и запускается

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).
...