Код: Выделить всё
public class CustomWebApplicationFactory : WebApplicationFactory
{
public IUserService _userService;
public CustomWebApplicationFactory()
{
_userService = A.Fake();
}
protected override void ConfigureWebHost(IWebHostBuilder builder)
{
base.ConfigureWebHost(builder);
builder.ConfigureTestServices(services =>
{
services.AddSingleton(_userService);
});
}
}
Код: Выделить всё
A.CallTo(() => _factory._userService.GetAllItems().Returns(Task.FromResult(fakepersons)));
Ошибка CS1929
'Task' не содержит определения для «Returns», а лучшая перегрузка метода расширения «ReturnValueConfigurationExtensions.Returns(IReturnValueConfiguration, Task)» требует приемника типа «FakeItEasy.Configuration. IReturnValueConfiguration'
WebIntegrationTest.Test C:\Users\srees\ReactJS App\WebIntegrationTest. Test\ControllerTest\HomeControllerIntegrationTests.cs 34 Активен
Код:
Код: Выделить всё
public class HomeControllerIntegrationTests : IDisposable
{
private CustomWebApplicationFactory _factory;
private HttpClient _client;
public HomeControllerIntegrationTests()
{
_factory = new CustomWebApplicationFactory();
_client = _factory.CreateClient();
}
[Fact]
public async Task GetAllItems_ReturnOkResult_WithListOFItems()
{
var fakepersons = new List
{
new Person{Id=1, Firstname="Test1", Lastname="Test1", Email="Test1"},
new Person { Id = 2, Firstname = "Test2", Lastname = "Test2", Email = "Test2" }
};
A.CallTo(() => _factory._userService.GetAllItems().Returns(Task.FromResult(fakepersons)));
var response = await _client.GetAsync("/api/Home");
Assert.Equal(HttpStatusCode.OK, response.StatusCode);
}
public void Dispose()
{
_client.Dispose();
_factory.Dispose();
}
}
Подробнее здесь: https://stackoverflow.com/questions/785 ... g-an-error
Мобильная версия