0
我试图单元测试搜索功能,我已经将匹配部分输入的字符串结果,如果存在。 我失败的测试:单元测试部分文本搜索服务
[Theory(DisplayName = "Retrieve a Customer by partial name if the customer exists.")]
[InlineData("fifth")]
public async Task ProviderClass_GetCustomersByPartialName(string name)
{
var mockISecurityTokenProvider = new Mock<ISecurityTokenProvider>();
mockISecurityTokenProvider.Setup(i => i.GetSecurityToken()).Returns(() => new SecurityToken
{
CurrentAccessLevel = AccessLevel.Full
});
var customerRepository = new CustomerRepository(_context, mockISecurityTokenProvider.Object);
var irrelevantRepo = new irrelevantRepo(_context, mockISecurityTokenProvider.Object);
var service = new CustomerProvider(customerRepository, irrelevantRepo,
new CustomerFactory(),
new Mock<IGenericModelFactory<mockedModel, mockedTable>>().Object,
new Mock<IGenericModelFactory<mockedModel, mockedTable>>().Object,
new Mock<IGenericModelFactory<mockedModel, mockedTable>>().Object,
new Mock<IGenericModelFactory<mockedModel, mockedTable>>().Object,
new Mock<IGenericModelFactory<mockedModel, mockedTable>>().Object);
var item = await service.GetCustomersByPartialNameAsync(name);
Assert.True(item?.Any(i => i.Name.ToLower().Contains(name.ToLower())));
和服务代码我测试:
public async Task<IEnumerable<Customer>> GetCustomersByPartialNameAsync(string name,
CancellationToken cancellationToken = new CancellationToken())
{
var items =
await _customerReader.GetCustomers()
//Includes of tables where relevant results might be
.Where(i => i.CustomerStatusId == 1 && i.Name.ToLower().Contains(name.ToLower()))
.ToListAsync(cancellationToken);
return items.Select(Create);
}
我在做什么错?