亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

.NET Core: xUnit.net集成測試中如何輸出控制臺日志

.NET Core: xUnit.net集成測試中如何輸出控制臺日志

一只名叫tom的貓 2018-08-15 10:09:15
無論是使用 asp.net core 自帶的 console 日志,還是使用 serilog 的 Serilog.Sinks.Console ,都無法在 dotnet test 的控制臺輸出日志,請問如何解決這個問題?
查看完整描述

1 回答

?
叮當貓咪

TA貢獻1776條經驗 獲得超12個贊

安裝 nuget 包 Serilog.Sinks.XUnit

dotnet add package Serilog.Sinks.XUnit

在 CustomWebApplicationFactory 類中實現 ConfigureLogging() 方法

public class CustomWebApplicationFactory<TStartup> : 
    WebApplicationFactory<TStartup> where TStartup : class{    public void ConfigureLogging(ITestOutputHelper outputHelper)    {
        Log.Logger = new LoggerConfiguration()
            .WriteTo.TestOutput(outputHelper, LogEventLevel.Information)
            .CreateLogger();
    }
}

在測試類的構造函數中通過依賴注入獲取 ITestOutputHelper ,然后調用上面的 ConfigureLogging() 方法配置 Serilog 將日志輸出到 ITestOutputHelper

public class WebApiTest : IClassFixture<CustomWebApplicationFactory<Startup>>
{    private readonly HttpClient _httpClient;    public WebApiTest(CustomWebApplicationFactory<Startup> factory, ITestOutputHelper testOutput)    {
        factory.ConfigureLogging(testOutput);
        _httpClient = factory.CreateClient();
    }        
    //...}


查看完整回答
反對 回復 2018-09-07
  • 1 回答
  • 0 關注
  • 1006 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號