मैं अपने यूनिट परीक्षण लिखने के लिए एमएसपीसी का उपयोग कर रहा हूं और वास्तव में बीडीडी शैली पसंद करता हूं, मुझे लगता है कि यह बहुत अधिक पठनीय है। अब मैं सिल्वरलाइट का उपयोग कर रहा हूं जो एमएसपीसी का समर्थन नहीं करता है इसलिए मुझे एमएसटीएस्ट का उपयोग करना है, लेकिन फिर भी एक बीडीडी शैली बनाए रखना चाहूंगा, इसलिए ऐसा करने के लिए एक तरीका तैयार करने की कोशिश कर रहा हूं।मैं एमएसटीएक्स्ट/एक्सयूनीट फ्रेमवर्क के साथ संदर्भ/विनिर्देश शैली इकाई परीक्षण कैसे लिखूं?
बस क्या मैं हासिल करने के लिए कोशिश कर रहा हूँ समझाने के लिए है, तो यहां मैं एक MSpec परीक्षण
[Subject(typeof(Calculator))]
public class when_I_add_two_numbers : with_calculator
{
Establish context =() => this.Calculator = new Calculator();
Because I_add_2_and_4 =() => this.Calculator.Add(2).Add(4);
It should_display_6 =() => this.Calculator.Result.ShouldEqual(6);
}
public class with_calculator
{
protected static Calculator;
}
MSTest साथ
तो मैं (इस तरह की परीक्षा लिखने के लिए हालांकि आप देख सकते हैं यह जीता कोशिश करेगा लिखने करेंगे 'टी काम करते हैं क्योंकि मैं 2 में TestInitialize विशेषताओं रख दिया है, लेकिन आप मुझे क्या करना कोशिश कर रहा हूँ मिल ..)
[TestClass]
public class when_I_add_two_numbers : with_calculator
{
[TestInitialize]
public void GivenIHaveACalculator()
{
this.Calculator = new Calculator();
}
[TestInitialize]
public void WhenIAdd2And4()
{
this.Calculator.Add(2).Add(4);
}
[TestMethod]
public void ThenItShouldDisplay6()
{
this.Calculator.Result.ShouldEqual(6);
}
}
public class with_calculator
{
protected Calculator Calculator {get;set;}
}
किसी MSTest के साथ इस तरह से परीक्षण लिखने के लिए कुछ और अधिक सुरुचिपूर्ण सुझाव के साथ आ सकते हैं ?
शायद मुझे यह याद आया, लेकिन जब आप स्पष्ट रूप से MSpec (एक स्पेक परिवार उपकरण) चाहते हैं तो एमएसटीएस्ट (एक xUnit उपकरण) का उपयोग क्यों करें? आप * एमएसपीईसी की तरह एमएसटीएस्ट को थोड़े-तरह से व्यवहार कर सकते हैं, हालांकि यह एक झुकाव होगा। जैसे आप MSpec-style xUnit परीक्षणों से पठनीय चश्मा कैसे उत्पन्न करेंगे? – Gishu
मैं एमएसपीसी (और मशीन.फेक्स) का एक बड़ा प्रशंसक हूं लेकिन जब मैंने इस सवाल से पूछा तो मैं एक परियोजना पर था जहां मुझे एमएसटीएस्ट का उपयोग करने के लिए कहा गया था (मैं कभी भी इसे स्वयं नहीं चुनूंगा!)। नीचे दिए गए उत्तर में इस दृष्टिकोण की रूपरेखा टूलिंग बाधाओं को काफी अच्छी तरह से काम करती है। आपको यह सुनकर खुशी होगी कि मैंने बाद में चले गए हैं और एक बार फिर खुशी से एमएसपीसिंग कर रहे हैं! – Charlie
बहुत प्रसन्न! आपके लिए अच्छा हैं। ऐसे समाधानों के साथ मेरा आस्तीन यह है कि दोनों शिविरों के रखरखाव करने वालों के लिए इस तरह के समझौते को समझना मुश्किल है। – Gishu