ScalaTestを使用して、基本的に「例外をスローしないか、可能な例外のリストの1つをスローする必要がある」と述べているプロパティを作成しようとしていますGeneratorDrivenPropertyChecks
。問題は、 を論理和と組み合わせることができなかったことですnoException
。したがって、私ができる最善の方法は、この醜いテストです。
it should "not throw unexpected exceptions" in {
forAll { (s: String) =>
try { parse(s) }
catch { case e:Throwable => e shouldBe a [ParsingFailedException] }
true shouldBe true // prevent compile error
}}
代わりに私が見たいのは、次のように読むことです
it should "not throw unexpected exceptions" in {
forAll { (s: String) => {
(noException should Be thrownBy) or (a [ParsingFailedException] shouldBe thrownBy) { parse(s) }
}}