如何断言构造函数中抛出的异常?
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);
在我的服务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);