Ich kann die Duplizierung nicht innerhalb eines clojure.test
Tests entfernen.kann die Duplizierung beim Erstellen von Tests nicht entfernen
Angenommen, ich habe mehrere Implementierungen für die gleiche Abstraktion:
(defn foo1 [] ,,,)
(defn foo2 [] ,,,)
(defn foo3 [] ,,,)
und ich habe auch einen Test, dass alle Implementierungen passieren sollte:
(defn test-impl [foo]
(is (= ,,, (foo))))
Ich kann jetzt erstellen clojure.test
Test, der alle Prüfungen die Implementierungen in einem einzigen Schritt:
(deftest test-all-impls
(test-impl foo1)
(test-impl foo2)
(test-impl foo3))
Alles ist gut; die Tests in der REPL laufen erhalte ich:
(run-tests)
Testing user
Ran 1 tests containing 3 assertions.
0 failures, 0 errors.
=> {:test 1, :pass 3, :fail 0, :error 0, :type :summary}
Ich möchte jetzt test-all-impls
modifizieren, um die Vervielfältigung von entfernen test-impl
explizit für jede der Implementierungen aufzurufen. Es fällt mir test-all-impls
wie folgt zu ändern:
(deftest test-all-impls
(for [foo [foo1 foo2 foo3]] (test-impl foo))
Hmm, jetzt nicht alles ist gut; in der REPL bekomme ich:
(run-tests)
Testing user
Ran 1 tests containing 0 assertions.
0 failures, 0 errors.
=> {:test 1, :pass 0, :fail 0, :error 0, :type :summary}
Was vermisse ich?