probcomp/metaprob

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

Aberta

#105 aberto em 25 de jan. de 2019

 (0 comentário) (0 reação) (0 responsável)JavaScript (16 forks)auto 404
good first issuelow prioritytesting

Métricas do repositório

Stars
 (170 estrelas)
Métricas de merge de PR
 (Métricas PR pendentes)

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.

Guia do colaborador