probcomp/metaprob

Break out `(is (and …))` forms into separate `(is …)` forms

Ouverte

#105 ouverte le 25 janv. 2019

 (0 commentaire) (0 réaction) (0 personne assignée)JavaScript (16 forks)auto 404
good first issuelow prioritytesting

Métriques du dépôt

Stars
 (170 étoiles)
Métriques de merge PR
 (Métriques PR en attente)

Description

Combining multiple test assertions in a single is form using and will result in uninformative error messages. For example, the following test case yields two failures when run:

(deftest example-test
  (is (= 3 (+ 1 1)))
  (is (= 5 (+ 2 2))))
Test Summary
metaprob.compositional-test

Tested 1 namespaces
Ran 2 assertions, in 1 test functions
2 failures


Results

metaprob.compositional-test
2 non-passing tests:

Fail in example-test
expected: 3

  actual: 2          
    diff: - 3          
          + 2            


Fail in example-test
expected: 5            

  actual: 4          
    diff: - 5          
          + 4

Grouping together those two assertions into a single form with and produces less informative error reporting, however:

(deftest example-test
  (is (and (= 3 (+ 1 1))
           (= 5 (+ 2 2)))))
Test Summary
metaprob.compositional-test

Tested 1 namespaces
Ran 1 assertions, in 1 test functions
1 failures


Results

metaprob.compositional-test
1 non-passing tests:

Fail in example-test
expected: (and (= 3 (+ 1 1)) (= 5 (+ 2 2)))

  actual: false          

Not only do we only get one failure, but the "actual" value is simply false.

Guide contributeur