यह मॉडल है, जिसमें दो फ़ील्ड फ़ील्ड1 और फ़ील्ड2 शामिल हैं
public class DemoViewModel
{
public string Field1{ get; set; }
public string Field2{ get; set; }
}
नीचे हमारे पास नियंत्रक है
public class SearchDemoController: BaseController
{
[HttpPost]
[AllowAnonymous]
public IActionResult SearchDemo(DemoViewModel model)
{
if (string.IsNullOrWhiteSpace(model.Field1))
throw new NotImplementedException("Error page - wrong Field1 chosen");
var Field1= DatabaseHandler<Field1>.Get(a => a.IsoName.ToLower().Contains(model.Field1));
}
}
मेरा असफल Xunit परीक्षण: या मुझे क्या लगता है कि यह होना चाहिए, लेकिन मुझे उचित आकलन के लिए ज्ञान की कमी है: क्या थ्योरी के लिए इनलाइनडेटा के रूप में व्यूमोडेल से फ़ील्ड पास करना संभव है? Ex..pass model.Field1 इनलाइनडाटा में परीक्षण के लिए शून्य और खाली के रूप में। साथ ही, मुझे यह जांचने में समस्या है कि डेटाबेस हैंडलर द्वारा फ़ील्ड 1 को संभाला जा रहा है या नहीं। कोई सलाह?
[Theory]
[InlineData] -Field1 Value 1
[InlineData] -Field1 Value 2
[InlineData] -Field1 Value 3
public void SearchDemo_DbHandlerContainsModelField1_WhenField1IsContained()
{
//Arrange
var model = new DemoViewModel();
model.Field1= "Value1"; //i wish somehow to add the values in InlineData
var language = DatabaseHandler<Field1>.Get(a => a.IsoName.ToLower().Contains(model.Language));
//Act
//Assert
Assert.NotNull(model.Field1);
Assert.Equal("Value1",model.Field1);
}
1 उत्तर
आपको पैरामीटर के रूप में Field1
मान निर्दिष्ट करना होगा:
[Theory]
[InlineData("Value1")]
[InlineData("Value2")]
[InlineData("Value3")]
[InlineData(null)]
public void SearchDemo_DbHandlerContainsModelField1_WhenField1IsContained(string field1)
{
//Arrange
var model = new DemoViewModel();
model.Field1 = field1;
//Your stuff
}
संबंधित सवाल
नए सवाल
c#
C # (उच्चारण "तेज देखें") Microsoft द्वारा विकसित एक उच्च स्तरीय, सांख्यिकीय रूप से टाइप किया हुआ, बहु-प्रतिमान प्रोग्रामिंग भाषा है। C # कोड आमतौर पर Microsoft के .NET परिवार के टूल और रन-टाइम को लक्षित करता है, जिसमें .NET फ्रेमवर्क, .NET कोर और Xamarin अन्य शामिल हैं। C # या C # के औपचारिक विनिर्देश में लिखे गए कोड के बारे में प्रश्नों के लिए इस टैग का उपयोग करें।