CodeShot
Juniorسختی 1 از ۵· در 10٪ مصاحبه‌های این حوزه پرسیده شده

در MSTest، چرا باید کلاس با [TestClass] و متد با [TestMethod] علامت‌گذاری شود؟

نشان کردن

پاسخ کوتاه

برخلاف xUnit/NUnit که نیاز به Attribute کلاس ندارند، MSTest برای شناسایی کلاس و متدهای تست به این Attribute ها نیاز دارد.

پاسخ کامل

این تفاوت سینتکسی اصلی بین سه فریمورک اصلی .NET است؛ از نظر عملکردی هر سه (MSTest، xUnit، NUnit) قابلیت مشابهی دارند.

مثال کد

csharp\n[TestClass]\npublic class CalculatorTests {\n [TestMethod]\n public void Add() => Assert.AreEqual(5, Calculator.Add(2, 3));\n}\n