Тест Clojure с множественными утверждениями
Я начинаю учиться писать тесты для моей программы Clojure. У меня есть тест с несколькими утверждениями (звонки на is
). Я хочу, чтобы тест прекратился, как только произойдет сбой первого утверждения. Вот мой тест:
(deftest register-one-command
(testing "Register-one-command"
(do
(is (= 0 (count @test/list-of-commands)))
(test/add-to-list-of-commands ["A"])
(is (= 1 (count @test/list-of-commands))))))
Если первый is
не удается, я хочу, чтобы все это провалилось.
1 ответ
Решение
Самый простой способ - просто обернуть разные тесты в and
(deftest register-one-command
(testing "Register-one-command"
(is (and
(= 0 (count @test/list-of-commands))
(test/add-to-list-of-commands ["A"])
(= 1 (count @test/list-of-commands))))))
Однако, если это возможно, я бы попытался реструктурировать тесты, чтобы лишняя сложность не потребовалась.