2017-06-05 3 views
4

J'essaie de faire fonctionner expecto dans notre projet de test.Le test Expecto en F # passe toujours même en cas d'échec

Bien qu'il compile et fonctionne bien, je voulais juste m'assurer qu'il fonctionnait vraiment. Alors j'ai donné un cas d'échec et ça passe.

Ai-je manqué quelque chose de stupide ici?

Ma configuration de test

let tests = 
    testList "Test Group" [ 
     test "Testing fail test" { 
      let result = false 
      Expecto.Expect.isTrue result 
     } 
    ] 

let runTests args = 
    runTestsWithArgs defaultConfig args tests 

sortie du test

[08:52:06 INF] EXPECTO? Running tests... 
[08:52:06 INF] EXPECTO! 1 tests run in 00:00:00.0569286 – 1 passed, 0 ignored, 0 failed, 0 errored. ᕙ໒(˵ ಠ ╭͜ʖ╮ ಠೃ ˵)७ᕗ 

Répondre

6

Toutes les fonctions Expecto.Expect prendre un paramètre de chaîne à la fin qui est le message à imprimer en cas d'échec. Vous ne fournissez pas ce paramètre, donc votre expression Expecto.Expect.isTrue result a le type string -> unit: elle n'a pas encore été appelée isTrue. (Vous devriez voir une ligne verte ondulée sous cette expression dans votre EDI en disant que la valeur est ignorée). Ajoutez une chaîne à votre appel, comme Expecto.Expect.isTrue result "should fail", puis votre test échouera comme prévu.

+0

Ouais qui l'a corrigé .... Merci –

+3

Aussi, c'est habituellement une bonne idée de compiler avec "des avertissements comme des erreurs". –