clojure.test's use-fixture का उपयोग करते समय, फ़ंक्शन फ़ंक्शन से फ़ंक्शन फ़ंक्शन में कोई मान पास करने का कोई तरीका है?clojure.test के साथ एक परीक्षण से एक परीक्षण में एक मूल्य को कैसे पास करें?
उत्तर
कुछ अच्छे विकल्प गतिशील बाध्यकारी और with-redefs
हैं। आप स्थिरता में परीक्षण नाम स्थान से एक वर बाँध सकते हैं और फिर एक परीक्षण परिभाषा में उपयोग:
core.clj:
(ns hello.core
(:gen-class))
(defn foo [x]
(inc x))
परीक्षा/हैलो/core.clj:
(ns hello.core-test
(:require [clojure.test :refer :all]
[hello.core :refer :all]))
(def ^:dynamic *a* 4)
(defn setup [f]
(binding [*a* 42]
(with-redefs [hello.core/foo (constantly 42)]
(f))))
(use-fixtures :once setup)
(deftest a-test
(testing "testing the number 42"
(is (= *a* (foo 75)))))
आप बता सकते हैं कि यह run-tests
के माध्यम से कॉल करने, परीक्षण सीधे कॉल की तुलना, जो जुड़नार का उपयोग नहीं करता द्वारा काम करता है:
hello.core-test> (a-test)
FAIL in (a-test) (core_test.clj:17)
testing the number 42
expected: (= *a* (foo 75))
actual: (not (= 4 76))
nil
hello.core-test> (run-tests)
Testing hello.core-test
Ran 1 tests containing 1 assertions.
0 failures, 0 errors.
{:test 1, :pass 1, :fail 0, :error 0, :type :summary}
यह दृष्टिकोण काम करता है क्योंकि फिक्स्चर वे चलाने वाले परीक्षणों के करीब हैं, हालांकि वे वास्तव में परीक्षण कार्यों में सीधे कॉल नहीं करते हैं (आमतौर पर) ताकि परीक्षण कोड में जानकारी पास करने के लिए बंद करने का अर्थ हो।
शायद नहीं एक सीधा जवाब है, लेकिन अगर आपके स्थिरता एक :each
स्थिरता वैसे भी था, या आप इसे एक :each
स्थिरता, तुम बस पुलिस कर सकते हैं बाहर होने को सहन और प्रासंगिक राज्य लौटने एक set-up
समारोह बना सकते हैं और पहले के रूप में यह कॉल कर सकते हैं एक स्थिरता का उपयोग करने के बजाय, अपने परीक्षण की रेखा। यह कुछ परिस्थितियों के लिए सबसे अच्छा तरीका हो सकता है।
(defn set-up [] (get-complex-state))
(deftest blah
(let [state (set-up)]
(frobnicate)
(query state)
(tear-down state)))
- 1. एक एसिंक परीक्षण में एक वादा वापस करने के लिए एक स्टब का परीक्षण कैसे करें?
- 2. एक परीक्षण सूट में clojure.spec'd फ़ंक्शंस को कैसे शामिल करें
- 3. एक-एक करके एक साथ परीक्षण चलाने के लिए TeamCity को कॉन्फ़िगर कैसे करें?
- 4. कैसे एक xUnit.net परीक्षण
- 5. एक लिखित संपत्ति का परीक्षण कैसे करें
- 6. एक परीक्षण
- 7. एक फ्लटर ड्राइवर परीक्षण
- 8. Google परीक्षण के साथ एक जोर कैसे प्राप्त करें?
- 9. एक ईवेंट के मूल्य को एक एक्सचेंज ईवेंट के माध्यम से जावास्क्रिप्ट फ़ंक्शन में पास करें?
- 10. एक स्टेटिक लाइब्रेरी के साथ यूनिट परीक्षण
- 11. डीटीसीपी परीक्षण परीक्षण पास है लेकिन अभी भी अंतर्निहित लेनदेन प्रबंधक के साथ एक संचार है
- 12. Grails: एकीकरण परीक्षण के साथ एक पुनर्निर्देशन का परीक्षण
- 13. एक विधि विधि का परीक्षण कैसे करें
- 14. टीडीडी: एक खोज का परीक्षण कैसे करें?
- 15. वीएस -2010 यूनिट परीक्षण - विभिन्न मानकों के साथ एक ही परीक्षण को दोबारा शुरू करें
- 16. यूनिट परीक्षण - एक SqlDataReader
- 17. एक इकाई परीक्षण वातावरण में log4j को कॉन्फ़िगर कैसे करें?
- 18. एक समय-सीमित परीक्षण
- 19. एक चर का परीक्षण कैसे करें मैटलैब
- 20. एक JSON नियंत्रक इकाई-परीक्षण कैसे करें?
- 21. इनलाइन कोड के साथ एक Container.DataItem परीक्षण
- 22. इकाई एक वेबसाइट का परीक्षण
- 23. परीक्षण कैसे करें एक प्रतिक्रिया घटक में जेस्ट के साथ एक और घटक है?
- 24. यूनिट परीक्षण एक ईजेबी
- 25. एक अच्छा प्रदर्शन तुलना परीक्षण कैसे करें?
- 26. एक आरएसपीईसी परीक्षण
- 27. जैस्मीन के साथ backbone.js अनुप्रयोग का परीक्षण - एक दृश्य पर मॉडल बाइंडिंग का परीक्षण कैसे करें?
- 28. एक एमुलेटर का परीक्षण
- 29. एक चांदा परीक्षण
- 30. एक राज्यव्यापी पायथन मॉड्यूल के साथ परीक्षण अलगाव को सही ढंग से कैसे प्राप्त करें?