আপনি টিম সিস্টেম পরীক্ষা বা নুনিট ব্যবহার করছেন না কেন , সর্বোত্তম অনুশীলন হ'ল আপনার পরীক্ষাগুলির জন্য একটি পৃথক ক্লাস লাইব্রেরি তৈরি করা। আপনার পরীক্ষার প্রকল্পে কেবল একটি অ্যাপকনফিগ যুক্ত করা আপনি সংকলন করলে স্বয়ংক্রিয়ভাবে আপনার বিন ফোল্ডারে অনুলিপি করা হবে ।
যদি আপনার কোডটি নির্দিষ্ট কনফিগারেশন পরীক্ষার উপর নির্ভরশীল হয়, তবে আমি প্রথম পরীক্ষার মাধ্যমে যাচাই করি যে কনফিগারেশন ফাইলটি উপলব্ধ ( যাতে আমি জানি যে আমি পাগল নই ):
<configuration>
<appSettings>
<add key="TestValue" value="true" />
</appSettings>
</configuration>
এবং পরীক্ষা:
[TestFixture]
public class GeneralFixture
{
[Test]
public void VerifyAppDomainHasConfigurationSettings()
{
string value = ConfigurationManager.AppSettings["TestValue"];
Assert.IsFalse(String.IsNullOrEmpty(value), "No App.Config found.");
}
}
আদর্শভাবে, আপনার কোডটি এমন লেখা উচিত যাতে আপনার কনফিগারেশন অবজেক্টগুলি আপনার ক্লাসে প্রবেশ করে। এটি আপনাকে কেবল কনফিগারেশন ফাইল ইস্যু থেকে পৃথক করে না, তবে এটি আপনাকে বিভিন্ন কনফিগারেশন পরিস্থিতিতে পরীক্ষা লিখতেও সহায়তা করে।
public class MyObject
{
public void Configure(MyConfigurationObject config)
{
_enabled = config.Enabled;
}
public string Foo()
{
if (_enabled)
{
return "foo!";
}
return String.Empty;
}
private bool _enabled;
}
[TestFixture]
public class MyObjectTestFixture
{
[Test]
public void CanInitializeWithProperConfig()
{
MyConfigurationObject config = new MyConfigurationObject();
config.Enabled = true;
MyObject myObj = new MyObject();
myObj.Configure(config);
Assert.AreEqual("foo!", myObj.Foo());
}
}