probcomp/metaprob

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

Offen

#105 geöffnet am 25.01.2019

 (0 Kommentare) (0 Reaktionen) (0 zugewiesene Personen)JavaScript (16 Forks)auto 404
good first issuelow prioritytesting

Repository-Metriken

Stars
 (170 Sterne)
PR-Merge-Metriken
 (PR-Metriken ausstehend)

Beschreibung

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.

Contributor Guide