написание теста xUnit для основного веб-приложения MVC asp.net, а не приложения WEB API - PullRequest
0 голосов
/ 22 мая 2019

Необходимо написать код xUnit.net для проверки действий моего контроллера веб-приложения mvc с представлением типа возврата (не для приложения-службы Web API), когда при поиске в Интернете (google, bing) обнаруживаются только действия контроллера веб-API .

нужно посмеяться над запросом и ответом Http Context и проверить правильность выполнения логики метода действия и вернуть правильное представление.

Когда я сделал это, у меня возникла проблема при добавлении значений сеансов / чтения сеансов.

используя приведенный ниже код, я смог сделать приложение веб-API

public class AdminIntegrationTest : IClassFixture<WebApplicationFactory<Startup>>
{
    private readonly WebApplicationFactory<Startup> _factory;


    public AdminIntegartionTest(WebApplicationFactory<Startup> fixture)
    {
        _factory = fixture;
    }

    [Fact]
    public async Task TestGetAllBusinessSubUnit2Async()
    {
        // Arrange
        var request = "/api/Admin/GetAllBusinessSubUnit2";
        var client = _factory.CreateClient();
        // Act
        var response = await client.GetAsync(request);
        // Assert
        var okResult = response.Content.ReadAsStringAsync();
        //Assert.IsType<OkObjectResult>(okResult);
        Assert.NotNull(okResult);
    //  var responseStrong = await response.Content.ReadAsStringAsync();
    }
}

используя то же самое, я не могу протестировать веб-приложение.

Есть ли другой способ сделать это?

...