2012-10-17 14 views
5

मेरे पास एक प्रकार है और परीक्षण डेटा के साथ इसका एक उदाहरण बनाना चाहते हैं।क्या परीक्षण डेटा के साथ एक प्रकार का उदाहरण बनाने का कोई तरीका है?

मुझे पता है कि व्यवस्थाएं तरह NBuilder या AutoFixture प्रकार है कि डिजाइन समय (<T>) पर जाना जाता है के उदाहरण बना सकते हैं। क्या वे ढांचे एक प्रकार के आधार पर एक उदाहरण बनाने में सक्षम हैं जो केवल रनटाइम (Type) पर जाना जाता है?

var value = Builder.Create(type); 
var constant = Expression.Constant(value, type); 

उत्तर

5

AutoFixture वास्तव में इस का समर्थन करता है:

अंत मैं की तरह कुछ करना चाहता हूँ पर

। लेकिन, जहां तक ​​मुझे पता है, ऐसा करने के लिए कोई सुविधा विस्तार विधियां नहीं हैं।

निम्नलिखित सामान्य कोड:

var context = new SpecimenContext(fixture.Compose()); 
var value = context.Resolve(new SeededRequest(typeof(MyType), null)) 
+0

काम करता है यही कारण है कि :) AutoFixture के लिए एक इंटरफेस के एक कार्यान्वयन रजिस्टर करने के लिए क्या यह संभव है:

var value = fixture.CreateAnonymous<MyType>(); 

एक प्रकार केवल कार्यावधि में जाना जाता है के साथ इस प्रकार दिखाई देगा जब ऑटोफिक्चर एक ऐसी संपत्ति के लिए उदाहरण बनाने का प्रयास करता है जहां टाइप इंटरफ़ेस है? – Rookian

+1

हां, यह संभव है। कृपया इसे एक अलग प्रश्न के रूप में पूछें। मैं वहां जवाब दूंगा। –

+0

यहां एक नज़र डालें: http://stackoverflow.com/questions/12949417/register-an-implementation-of-an-interface-for-autofixture – Rookian

संबंधित मुद्दे

 संबंधित मुद्दे