Нужна помощь в понимании наследования от интерфейса <T> - PullRequest
2 голосов
/ 27 января 2020

Я пишу интеграционные тесты, используя xUnit для. NET Core 3.0 API. Обращаясь к документации Microsoft, я наткнулся на приведенный ниже пример кода. Я не могу понять

  1. синтаксис определения класса, где он реализует интерфейс. Может кто-нибудь объяснить, пожалуйста?

  2. Как зависимость будет введена в конструктор?

public class BasicTests: IClassFixture<WebApplicationFactory<RazorPagesProject.Startup>>
{
    private readonly WebApplicationFactory<RazorPagesProject.Startup> _factory;

    public BasicTests(WebApplicationFactory<RazorPagesProject.Startup> factory)
    {
        _factory = factory;
    }

    [Theory]
    [InlineData("/")]
    [InlineData("/Index")]
    [InlineData("/About")]
    [InlineData("/Privacy")]
    [InlineData("/Contact")]
    public async Task Get_EndpointsReturnSuccessAndCorrectContentType(string url)
    {
        // Arrange
        var client = _factory.CreateClient();

        // Act
        var response = await client.GetAsync(url);

        // Assert
        response.EnsureSuccessStatusCode(); // Status Code 200-299
        Assert.Equal("text/html; charset=utf-8", 
            response.Content.Headers.ContentType.ToString());
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...