我们的scala测试用例为ex调用REST API。创建用户,并通过分析输出响应来检查是否实际创建了userId。
如果REST API引发任何错误,则由于断言条件(assert(userId!=“”)),userId为空,并且customReport将事件显示为org.scalatest.exceptions.TestFailedException: "" equaled ""
为TestFailed
有没有一种方法可以将REST API的响应传递给报告程序。 请告知。
class CustomReport extends Reporter {
override def apply(event: Event): Unit = {
}
}
答案 0 :(得分:0)
例如,考虑通过clue提供有关失败的自定义信息,
$score = 'MATCH(a.titre, a.intro, a.contenu) AGAINST (:q boolean)'
$this->createQueryBuilder('a')
->select('a.id')
->andWhere("{$score} > 0")
->orderBy($score, 'DESC')
->setParameter('q', $query)
或
assert(userId != "", myCustomInformation)
withClue(myCustomInformation) {
userId should not be empty
}
可能位于
customInformation
这是一个可行的例子
case class MyCustomInformation(name: String, id: Int)
val myCustomInformation = MyCustomInformation("picard", 42)
输出
import org.scalatest._
class ClueSpec extends FlatSpec with Matchers {
case class MyCustomInformation(name: String, id: Int)
"Tests failures" should "annotated with clues" in {
withClue(MyCustomInformation("picard", 42)) {
"" should not be empty
}
}
}
有关自定义报告程序的示例,请考虑https://stackoverflow.com/a/56790804/5205022