[TestMethod]
[DataRow("connectionstringvalue",
"[{'ColumName':'neid','Value':'1','Operator':'Equal'}]",
"neid",
Sort.ASC,
在這里應該為模型系結提供什么值。方法引數中的 PaginationDto 是 >model 類,具有 page 和 recordsperpage 屬性
) ]
public void MethodTest(string connectionString,string? filters, string sortColumn, Sort sort, PaginationDto? pagination)
{
var serviceProvider = new ServiceCollection()
.AddLogging()
.BuildServiceProvider();
var mediator = new Mock<IMediator>();
var factory = serviceProvider.GetService<ILoggerFactory>();
var logger = factory.CreateLogger<HController>();
HController controller = new HController (logger, **mediator.Object**, _configuration);
Task<ActionResult<List<basicDto>>> result = controller.methodname(connectionString, filters, sortColumn, sort, pagination);
// 1. 如何處理我的控制器回傳的值 Assert.AreEqual("", "Hi!Reader"); }
1.如何處理從我的控制器回傳的值
2.如何傳遞模型類屬性的輸入值
uj5u.com熱心網友回復:
由于屬性只允許常量運算式,因此您不能DataRow在此處使用(因為我假設 PaginationDto 實際上不是 an enum,而是 a classor struct)。
但是,您可以使用DynamicData. 簡而言之,它的作業原理如下:
[TestClass]
public class Test
{
[TestMethod]
[DynamicData(nameof(MethodTestData), DynamicDataSourceType = DynamicDataSourcetype.Property)]
public void Method(string connectionString,
string? filters, string sortColumn, Sort sort,
PaginationDto? pagination)
{
// test code
}
// The property must be public, static and have return type IEnumerable<object[]>
public static IEnumerable<object[]> MethodTestData
{
get
{
// Return one array/set of arguments per call of Method()
yield return new object[]
{
// each item of the array is a parameter (value) to Method()
"the connection string",
"the filters",
"the sort column",
Sort.Asc,
new PaginationDto()
};
}
}
}
至于您的其他問題,我建議您為他們發布單獨的問題。一個提示,您還可以使用異步測驗方法(如果您的控制器方法也是異步的)。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/447687.html
