Midسختی 2 از ۵· در 25٪ مصاحبههای این حوزه پرسیده شده
تفاوت [Fact] و [Theory] در xUnit چیست؟
☆نشان کردنپاسخ کوتاه
[Fact] یک تست ساده با ورودی ثابت است؛ [Theory] با [InlineData] اجازه میدهد یک تست با چند مجموعه دادهٔ مختلف چندین بار اجرا شود.
پاسخ کامل
استفاده از Theory برای تست چند حالت مرزی یک تابع، بسیار تمیزتر از نوشتن چند [Fact] تکراری با فقط تغییر مقدار ورودی است.
مثال کد
csharp\n[Theory]\n[InlineData(2, 3, 5)]\npublic void Add(int a, int b, int expected) => Assert.Equal(expected, Calculator.Add(a, b));\n
