का उपयोग कर एकीकरण परीक्षण के लिए ऑटोफिक्चर का उपयोग करने के लिए तकनीक, मैं ऑटोफिक्चर के लिए नया हूं, इसलिए मुझे नहीं पता कि निम्नलिखित विचार समझने जा रहे हैं या करने के लिए उचित बात है या नहीं। मेरे पास एक एप्लिकेशन है कि मैं एकीकरण परीक्षण का प्रभारी हूं, और यह कैसल विंडसर का भारी उपयोग करता है। निर्भरता प्रबंधन को सरल बनाने और मेरे परीक्षण को एप्लिकेशन कोड की तरह अधिक बनाने के लिए, मैं अपने परीक्षण आरंभिक विधि और कंटेनर का उपयोग करने में विंडसर कंटेनर का निर्माण कर रहा हूं। मैं जिस कोड का परीक्षण कर रहा हूं उसे तुरंत चालू करने के लिए प्रयास करें। मैं उस दृष्टिकोण से दूर जाना चाहता हूं क्योंकि इसने कुछ स्थितियों में अपनी लचीलापन सीमित कर दी है। ,कैसल विंडसर
[Theory]
[Dependency]
public void TestWithDependencies(IThing thing)
{
thing.Hello();
}
ऐसा करने के लिए मैं निम्न कर सकते हैं:
मैं क्या करना चाहते हैं क्या परीक्षण है कि कुछ इस तरह दिखाई है
public sealed class DependencyAttribute : AutoDataAttribute
{
public DependencyAttribute()
: base(new Fixture().Customize(new WindsorCustomization()))
{
}
}
public class WindsorCustomization : ICustomization
{
public WindsorCustomization()
{
// build container here using SUT installers
}
public void Customize(IFixture fixture)
{
fixture.Inject<IThing>(new Thing());
}
}
ऐसा काम करता है, लेकिन मैं जो टालना चाहता हूं उसे ऑटोफिक्स्चर IFixture में विंडसर कंटेनर से कार्यान्वयन मैपिंग में प्रत्येक इंटरफ़ेस की प्रतिलिपि बनाने की आवश्यकता है।
Welp! मैंने ऑटोमोक के लिए कोड पर एक नज़र डाली और देखा कि मैं क्या करना चाहता हूं। यदि कोई दिलचस्पी लेता है तो मैं कोड को उत्तर में पोस्ट कर सकता हूं। – thebeekeeper
हां, यह ऑटोमोक कैसे काम करता है इसके करीब है :) –