Я не могу получить specs2 для печати любых пользовательских сообщений.Как я могу использовать пользовательские сообщения с изменяемыми спецификациями specs2?
import org.junit.runner.RunWith
import org.specs2.mutable.Specification
import org.specs2.runner.JUnitRunner
@RunWith(classOf[JUnitRunner])
class MessageSpecs extends Specification {
"This" should {
"fail" in {
true.must(beFalse).setMessage("this should PRINT")
//true.must(beFalse.setMessage("this should PRINT")) // or maybe this? no.
//true.must(beFalse).updateMessage(_ => "this should PRINT") // not this either
}
}
}
Я просто получаю сообщение об ошибке по умолчанию «значение true». Это на specs2 3.8.5, используя JUnitRunner через maven. Я еще не пробовал это в проекте sbt. Документация, которую я могу найти, предполагает, что это должно сработать.
--- Edit ---
рода-обходным: true.aka("this should PRINT").must(beFalse) // works
Это печатает немного уродливый, когда используется на практике для описания сложной неудачи, но, по крайней мере, он печатает, так Я могу добавить дополнительный контекст, необходимый для более простого понимания отказа.
Thanks @Eric. Я довольно уверен, что видел это с помощью более сложных помощников, чем beFalse, что привело меня к тому, чтобы уменьшить его до вышесказанного. Если я увижу их снова, я напишу здесь. Однако с тех пор я повторно организовал спецификацию, и я использую 'aka', поскольку она кажется более надежной. –
Скотт, я обновил ответ. – Eric