Je suis novice en scala
Ma version sbt est: 0.13.17
Ma version Scala est: Scala code runner version 2.12.6 - Copyright 2002-2018, LAMP / EPFL et Lightbend, Inc.
J'essaye d'exécuter le cas de test avec le code suivant
discarded non-Unit value
"add 2 numbers" in new Testing() {
Et j'obtiens l'erreur suivante
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
}
}
}
Dans mon fichier build.sbt, je vois ceci
"-Ywarn-value-discard", // Warn lorsque les résultats d'expressions non unitaires ne sont pas utilisés
Je ne peux pas supprimer la ligne ci-dessus et comment m'assurer que mon scénario de test s'exécute.
J'ai parcouru ce lien Supprimer l'avertissement "valeur non unitaire rejetée" . Mais pas sûr de ce qui doit être fait. Toute aide est très appréciée
3 Réponses :
Cet avertissement est dû au fait que les valeurs affectées a et b ne sont pas utilisées. Peut-être que vous vouliez écrire:
val result: Int = add(a, b)
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
}
}
<₹disable -Ywarn-value-discard dans scalacOptions
S'il ne s'agit que d'un avertissement, vos tests sont-ils toujours en cours d'exécution? Ou est-ce que cela empêche réellement vos tests de fonctionner?
@JamesWhiteley Mes tests sont arrêtés. J'obtiens une erreur pas un avertissement