এই প্রশ্নটি তার উন্নত বছরগুলিতে, তবে আমি ভেবেছিলাম যে আমি এটি করার পদ্ধতিটি ভাগ করব।
মূলত, আমার যে সমস্ত ইউনিট টেস্ট ক্লাস রয়েছে তারা এসেম্বলির জন্য তারা 'ইউনিটস্টেস্ট' নেমস্পেসে সেই অ্যাসেমব্লির 'ডিফল্ট' নীচে পরীক্ষা করছে - প্রতিটি পরীক্ষার ফাইলটি একটিতে আবৃত থাকে:
#if DEBUG
...test code...
#endif
অবরুদ্ধ করুন এবং এর অর্থ হ'ল ক) এটি কোনও রিলিজে বিতরণ করা হচ্ছে না এবং খ) আমি হুপ জাম্পিং ছাড়াই internal
/ Friend
স্তরের ঘোষণাপত্র ব্যবহার করতে পারি ।
এই প্রশ্নের সাথে আরও প্রাসঙ্গিকভাবে এই অফার করে যে জিনিসটি partial
শ্রেণীর ব্যবহার, এটি ব্যক্তিগত পদ্ধতি পরীক্ষার জন্য প্রক্সি তৈরি করতে ব্যবহার করা যেতে পারে, সুতরাং উদাহরণস্বরূপ একটি ব্যক্তিগত পদ্ধতির মতো এমন কিছু পরীক্ষা করা যা কোনও পূর্ণসংখ্যার মান দেয়:
public partial class TheClassBeingTested
{
private int TheMethodToBeTested() { return -1; }
}
সমাবেশের প্রধান শ্রেণিতে এবং পরীক্ষার শ্রেণিতে:
#if DEBUG
using NUnit.Framework;
public partial class TheClassBeingTested
{
internal int NUnit_TheMethodToBeTested()
{
return TheMethodToBeTested();
}
}
[TestFixture]
public class ClassTests
{
[Test]
public void TestMethod()
{
var tc = new TheClassBeingTested();
Assert.That(tc.NUnit_TheMethodToBeTested(), Is.EqualTo(-1));
}
}
#endif
স্পষ্টতই, আপনাকে অবশ্যই নিশ্চিত করতে হবে যে আপনি বিকাশের সময় এই পদ্ধতিটি ব্যবহার করছেন না, যদিও একটি রিলিজ বিল্ড শীঘ্রই এটি করতে গেলে একটি অজান্তেই কল নির্দেশ করবে।