2012-10-16 10 views
7

जैस्मीन जावास्क्रिप्ट के लिए एक अच्छा इकाई परीक्षण ढांचा है। यह न केवल अपने कोड का परीक्षण करती है, यह द्वारा यह दस्तावेज़ के लिए एक अच्छा तरीका प्रदान करता है:सी # और/या जावा

  • परीक्षण है कि अपने आप में लगभग एक प्रलेखन
  • परीक्षण रिपोर्ट एक तरह पढ़ता है की तरह पढ़ता है परिभाषित करने के लिए एक धाराप्रवाह BDD-इश तरह से उपयोग करना प्रलेखन भी

मुझे आश्चर्य है कि सी # और/या जावा के लिए तुलनात्मक कुछ भी मौजूद है या नहीं।

उत्तर

4

मैं अभी गिटहब पर NJasmine पर आया था। मैंने इसका कभी भी उपयोग नहीं किया है, लेकिन सोचा कि यह दूसरों की तरह खुद की मदद कर सकता है जो सी # यूनिट परीक्षणों में जैस्मीन के भयानक चाहते हैं।

GitHub से:

NJasmine एक RSpec-ish परीक्षण भाषा सी #/नेट प्रोग्रामिंग के लिए जावास्क्रिप्ट परीक्षण पुस्तकालय जैस्मीन (http://pivotal.github.com/jasmine/) से प्रेरित है।

given("some preconditions",() => { 

    var range = 10; 

    when("the system under test is ran",() => { 

     var sut = new SystemUnderTest(); 

     bool score = arrange(() => sut.Fire(range)); 

     then("win!",() => { 

      expect(() => score); 
     }); 
    }); 
}); 

Nuget पर उपलब्ध: http://nuget.org/List/Packages/NJasmine

फिर से, के रूप में मैं इसे इस्तेमाल नहीं किया है मैं इस समर्थन नहीं कर सकता, लेकिन मैं इस जानकारी डाल उम्मीद यहाँ यह दूसरों की मदद करेगा सूचित निर्णय लें।

HTH

1

जावा के लिए एक बराबर होगा JBehave

2

परीक्षण जावा (और ग्रूवी) के लिए एक बहुत लोकप्रिय ढांचे Spock, जिसका परीक्षण भी लिखा विनिर्देशों की तरह पढ़ है।

2

बीडीडी लागू करने के लिए Cucumber-JVM पर एक नज़र डालें। यह जावा आधारित है लेकिन जेवीएम-आधारित भाषाओं (स्कैला, ग्रोवी) के साथ भी काम करता है।

यदि जेनकींस जैसी निरंतर एकीकरण प्रणाली का उपयोग करना है, तो Cucumber Reports नामक एक रिपोर्टिंग प्लगइन उपलब्ध है।

4

Oleaster स्वच्छ सरल वाक्य रचना के साथ एक जावा परीक्षण ढांचे, बड़े पैमाने पर जावा 8 तीर कार्यों का उपयोग कर रहा है। इसे जुनीट धावक का उपयोग करके निष्पादित किया जाता है। hompage से

कोड का नमूना:

@RunWith(OleasterRunner.class) 
public class OleasterIntroductionTest {{ 
    describe("A suite",() -> { 
     it("contains a spec with an expectation",() -> { 
      expect(40 + 2).toEqual(42); 
     }); 
    }); 
}} 
+0

हास्यास्पद डबल-ब्रेस वाक्यविन्यास क्या है? मैं मानता हूं कि मैंने इसे पहले नहीं देखा है। क्या यह जावा 8 के साथ भी नया है? – chiccodoro

+2

सीधे कक्षा में घोंसला वाला ब्लॉक ** इंस्टेंस प्रारंभिक ब्लॉक ** कहा जाता है और इसे कन्स्ट्रक्टर से पहले निष्पादित किया जाता है। Http://stackoverflow.com/questions/3987428/what-is-an-initialization-block या [आधिकारिक ट्यूटोरियल] देखें (http://docs.oracle.com/javase/tutorial/java/javaOO/initial.html) ब्योरा हेतु।यह जावा 8 से पहले पेश किया गया था। – czerny

+0

@czemy ठीक है, धन्यवाद – chiccodoro

3

JUnit 5 BDD की तरह, @DisplayName, @Nested साथ हो जाएगा, और इतने पर। आप at the documentation देख सकते हैं।

जीए रिलीज अभी तक नहीं है, लेकिन इसे जल्द ही पहुंचाया जाना चाहिए (2016 के अंत तक घोषित)।

+0

यह देखने के लिए बहुत अच्छा है कि जुनीट ने इसके लिए समर्थन में निर्माण किया है। "डिफ़ॉल्ट" परीक्षण ढांचे के माध्यम से जावा में बीडीडी टीडीडी करना संभव बनाना –