जबकि आप अपनी यूनिट टेस्ट प्रोजेक्ट के लिए किसी अन्य कॉन्फ़िगरेशन फ़ाइल में ऐप सेटिंग्स को परिभाषित कर सकते हैं, निर्भरता इंजेक्शन का उपयोग करके इंटरफेस के लिए इकाई परीक्षण उन क्षेत्रों को तोड़ने में मदद कर सकता है जिनके आपके परीक्षण परीक्षण अधिक प्रबंधनीय भागों में शामिल होंगे।
तो तुम तरह अपने विन्यास अंतरफलक हो सकता है:
public interface IConfiguration
{
public string Host { get; set; }
}
इस तरह एक पैरामीटर (आमतौर पर आपके निर्माता के लिए) के रूप में एक IConfiguration वर्ग को स्वीकार करेंगे परीक्षण करने के लिए अपने वर्ग: फिर
public class MyClass
{
IConfiguration _config;
public MyClass(IConfiguration config)
{
_config = config;
}
public void MyMethodToTest()
{
}
}
अपने परीक्षण बाहरी कॉन्फ़िगरेशन फ़ाइल के आधार पर कॉन्फ़िगरेशन में पास करने के लिए इंटरफ़ेस का उपयोग कर सकता है जो आपके यूनिट परीक्षण को संभावित रूप से बदल सकता है और प्रभावित कर सकता है:
[Test]
public void Testing_MyMethodToTest()
{
// arrange
var config = new Configuration { Host = "My Test Host" };
// act
new MyClass(config).MyMethodToTest();
// Add assertion for unit test
}
और अपने वास्तविक क्रियान्वयन, आपके विन्यास वर्ग बनाने appSettings से मूल्य (रों) के साथ इसे लोड और पारित है कि आपके कार्यान्वयन
में इसका मतलब है कि मैं अपने परीक्षण परियोजना के लिए निम्न रूप में अच्छी तरह जोड़ना होगा। ' appSettings>' –
हाँ आप सही हैं – aquaraga
यह काम किया। उसे कभी नहीं पता था। मदद –