我根据sbt-toplecat打开编译器标志时收到以下编译器错误。
await(myService(request).value).isLeft shouldBe true
现在编译器抱怨:
discarded non-Unit value
await(myService(request).value).isLeft shouldBe true
^
此ShouldBe Matcher来自Scalatest:
def shouldBe(right: Any): Assertion = {
if (!areEqualComparingArraysStructurally(leftSideValue, right)) {
val (leftee, rightee) = Suite.getObjectsForFailureMessage(leftSideValue, right)
val localPrettifier = prettifier // Grabbing a local copy so we don't attempt to serialize AnyShouldWrapper (since first param to indicateFailure is a by-name)
indicateFailure(FailureMessages.wasNotEqualTo(localPrettifier, leftee, rightee), None, pos)t
}
else indicateSuccess(FailureMessages.wasEqualTo(prettifier, leftSideValue, right))
}
我需要怎么做才能解决这个问题?显然,断言是对还是错,所以我总是得到一个非Unit值,然后将其丢弃。
请考虑放宽编译器标志以进行测试,因为此代码未在生产中运行。也许像这样简单地显式设置一些您可能希望用于测试配置的标志
Test / scalacOptions := Seq(
// few flags I want for tests
)