इंटेलिटेस्ट के साथ आप इंटेलिजेट के लिए एक प्रकार निर्दिष्ट कर सकते हैं जो इकाई परीक्षण उत्पन्न करते समय एक इंटरफ़ेस फिट बैठता है, हालांकि मेरे पास एक कस्टम फैक्ट्री है जिसका मैं उपयोग करना चाहता हूं।मैं फैक्टरी इंटेलिटेस्ट को इंटरफ़ेस के लिए उपयोग कैसे करना चाहिए?
मेरे कस्टम कारखाना:
public static partial class LogicFactory
{
/// <summary>A factory for ILogic instances</summary>
[PexFactoryMethod(typeof(ILogic))]
public static ILogic Create(string defaultUICulture, bool saveSuccessful)
{
return Mock.Of<ILogic>(
x =>
x.GetUICulture(It.IsAny<string>()) == defaultUICulture &&
x.Save(It.IsAny<string>(), It.IsAny<string>()) == saveSuccessful);
}
}
मैं सभी ILogic
उदाहरणों PEX बनाने की कोशिश के लिए इस कारखाने का उपयोग करना चाहते हैं।
मैं PexAssemblyInfo.cs के लिए निम्न विशेषता जोड़ने की कोशिश की, और मैं भी अपने परीक्षण के ऊपर इसे जोड़ने की कोशिश की:
[assembly: PexCreatableByClassFactory(typeof(ILogic), typeof(LogicFactory))]
लेकिन मैं अभी भी इस क्रम चेतावनी जब कोड instrumenting मिलती है:
will use Company.Logics.SpecificLogic as ILogic
और ऐसा लगता है कि यह हर बार मेरे कारखाने को अनदेखा कर रहा है। इसके बजाय मैं अपने कारखाने का उपयोग करने के लिए इंटेलिटेस्ट को कैसे मजबूर कर सकता हूं?
तो आप कह रहे हैं कि पीएक्स को एक ठोस प्रकार निर्दिष्ट किए बिना एक इंटरफेस के लिए कारखाने का उपयोग करना संभव नहीं है? –
मुझे इस तरह की संभावना से अवगत नहीं है। हालांकि, मुझे यह मानना है कि मैं पीईएक्स के साथ काफी ताजा हूं। –