Lein test
İşlevlerimi rasgele sırada çalıştırır.Testi zincirlemek için bir yol, diğeri clojure'da peş peşe koşuyor mu?
Aynı verileri değiştiren iki işlevim var. İlk önce birinciye ve ikincisine ihtiyacım var.
;;===============my file=============
;;this fails if x and y are not found.
(defn create-data [x y]
(go add x y))
;;if the update function doesn't find x and y it adds them so create-data fails when it runs after update-data
(defn update-data [x y]
(go update x y))
;;======my file test=======
(deftest create-test
(testing "this should run first"
(is (= 20 create-data)))
(deftest create-test
(testing "this should run second"
(is (= 20 update-data)))
yüzden o iş yapacak hem fonksiyonları için bir test oluşturma düşündüm ama öyle değil: Benim testte sipariş
Örnek firles.
(deftest test-create-update.
(testing "this should run second"
(is (= 20 create-data))
(is (= 20 update-data)))
ben hem işlevleri çalışır ama ilk kesin ve bakılmaksızın (başarılı veya başarısız olsun) sonucun oluşturmak-verilerini çalışacaktır update-verileri çalışacaktır şey istiyorum. Her ikisine de ihtiyacım var. Bireysel olarak çalışırlar. ama otomatik testlere ihtiyacım var.
Sanırım 'clojure.test' tüm sınama işlevlerini bir ad alanından yakalar ve tanımlandıkları sıralamayı korumaz. Bir 'test'de birden çok' '' ifadesi olan durumunuzun çalışmadığından emin misiniz? Ben denedim ve benim için çalışıyor (ilk 'başarısız' olsa bile 'ikinci bir' değerlendiriliyor '). Ayrıca 'create-data 've' update-data' işlevlerini çağırmıyorsunuz, ancak bunları 20'den 20'ye fonksiyon nesneleri olarak karşılaştırıyorsunuz. Tek bir' deftest 'yerine belirli bir sınama gerektiren testlerinizin yerine getirilmeyip farklı' sınama 'içine yerleştirilemez. örneklerini? –
Bence en çirkin vakalar kendi kendine yeten bir varlıktır. Siparişi zorlamak istiyorsanız, hepsini bir teklemenin içine koymanın daha iyi olduğunu düşünmüyor musunuz? –