Выполнение тестового примера в Scala дает «отброшенное не-Единичное значение» - PullRequest
0 голосов
/ 06 февраля 2019

Я новичок в scala

Моя версия sbt: 0.13.17

Моя версия Scala: Версия бегунка кода Scala 2.12.6 -- Copyright 2002-2018, LAMP / EPFL и Lightbend, Inc.

Я пытаюсь запустить тестовый пример со следующим кодом

class TestSpec extends WordSpec with Matchers with MockFactory with OneAppPerSuite {

  "it" should {
    "add 2 numbers" in new Testing() {
      val a = 2
      val b = 3
      val expected = 5
      val result: Int = add(2, 3)

      result shouldEqual expected
    }
  }

  trait Testing {

    def add(a: Int, b: Int): Int = {
      a + b
    }
  }
}

И я получаю следующую ошибку

discarded non-Unit value
 "add 2 numbers" in new Testing() {

В моем файле build.sbt я вижу это

"- Ywarn-value-discard", // Предупреждать, когда результаты выражения, не относящиеся к единице, не используются

Я не могу удалить вышеприведенную строку и как убедиться, что мой тестовый пример выполняется.

Я прошел по этой ссылке Подавить предупреждение "Discaded non-Unit value" .Но не уверен, что нужно сделать.Любая помощь высоко ценится

Ответы [ 2 ]

0 голосов
/ 11 февраля 2019
I just tried something like ... And it works.

class Testclass extends  FlatSpec with Matchers  with TestTrait {
  it should "add two integers" in  {
      val a: Int =  2
      val b: Int =  3
      val result = add(a, b)
      result shouldEqual(5)
    }
}

trait TestTrait {
  def add(a: Int, b: Int):Int = {
     a + b
  }
}
0 голосов
/ 06 февраля 2019

Это предупреждение возникает потому, что назначенные значения a и b не используются.Может быть, вы хотели написать:

val result: Int = add(a, b)
...