如何断言构造函数中抛出的异常?

How do I assert the exception thrown in the constructor?

在我的服务class中,我有这个构造函数。

public IngestService()
{
    _extractedFilePath = configuration["Path:Ingest"];

    if (string.IsNullOrEmpty(_extractedFilePath))
    {
        _logger.LogError($"Invalid conguration. Check appsettings.");
        throw new Exception("Invalid conguration. Check appsettings.");
    }
}

并且我使用 XUnit 进行了此测试

[Fact]
public async Task WhenInvalidConstructor_ThenShouldThrowETest() {
        var _ingestService = new IngestService();
}

我调试的时候,可以到达构造函数。但是我如何捕获异常并断言异常消息“配置无效。检查应用程序设置。”?

试试这个:

    Exception actualException = Assert.Throws<Exception>(() => new IngestService());
    Assert.Equal("Invalid conguration. Check appsettings.", actualException.Message);