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