मैंने हाल ही में यूनिट परीक्षण के लिए ऑटोफिक्शन लाइब्रेरी (http://autofixture.codeplex.com/) का उपयोग करना शुरू किया और मुझे यह पसंद है।परीक्षण के तहत कक्षा के लिए ऑटोफिक्चर में अज्ञात प्रकार बनाने का उद्देश्य?
मुझे यह कोड नमूना ऑटोफिक्शन कोडप्लेक्स वेबसाइट से मिला है। मेरा प्रश्न लाइन नंबर 8.
1. [TestMethod]
2. public void IntroductoryTest()
3. {
4. // Fixture setup
5. Fixture fixture = new Fixture();
6.
7. int expectedNumber = fixture.CreateAnonymous<int>();
8. MyClass sut = fixture.CreateAnonymous<MyClass>();
9.
10. // Exercise system
11. int result = sut.Echo(expectedNumber);
12.
13. // Verify outcome
14. Assert.AreEqual<int>(expectedNumber, result, "Echo");
15. // Teardown
16. }
मैं नहीं समझ सकता, इसलिए हम परीक्षण के अंतर्गत वर्ग के एक गुमनाम वस्तु बनाने की आवश्यकता के संबंध में है।
MyClass sut = fixture.CreateAnonymous<MyClass>();
कक्षा वास्तविक वस्तु आईएमओ होना चाहिए। उदाहरण के लिए ..
var sut = new MyClass();
मेरा प्रश्न है, परीक्षण करने के लिए अज्ञात ऑब्जेक्ट बनाने का वास्तविक लाभ क्या है?
+1 मूल रूप से थोड़े मुख्य है के लिए, यह SUT के निर्माता हस्ताक्षर से इकाई परीक्षण अलग करता है, इस प्रकार परीक्षण और अधिक मजबूत जब refactorings का सामना करना पड़ रही है। –
बहुत अच्छा! धन्यवाद रूबेन और मार्क। – Spock