当我从集成测试文件中调用
Log.Information("Test")
时,日志条目在测试控制台中显示正常。如果我从使用 WebApplicationFactory 测试的控制器中调用相同的静态函数,则测试控制台中不会显示任何内容。
奇怪的是,当从使用
WebApplicationFactory创建的控制器调用时,
Console.WriteLine("Test")
也不会显示在测试控制台中
有没有办法在测试控制台中显示从使用WebApplicationFactory测试的控制器分派的日志条目?或者只是将控制台输出从创建的 WebHost 重定向到测试输出的方法?
我在这里找到了答案:https://stackoverflow.com/a/74574304/1057436
在 ASP 6 中你可以像这样设置
PreserveExecutionContext
:
public BasicTests(WebApplicationFactory<Program> factory)
{
_factory = factory;
_factory.Server.PreserveExecutionContext = true;
}