放弃断言非单位值编译器错误

问题描述 投票:0回答:1

我根据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值,然后将其丢弃。

scala scalatest scalamock
1个回答
0
投票

请考虑放宽编译器标志以进行测试,因为此代码未在生产中运行。也许像这样简单地显式设置一些您可能希望用于测试配置的标志

Test / scalacOptions := Seq(
  // few flags I want for tests
)
© www.soinside.com 2019 - 2024. All rights reserved.