-
[xUnit] 테스트 프로젝트를 로깅(Logging)하는 방법.NET/개념 및 유용한 팁 2021. 10. 31. 13:21반응형
xUnit과 같은 테스트 프로젝트는 각 테스트 함수별 진행에 따른 로그가 별도 표시되어야 할 필요성이 있다. 아래 프로젝트는 webapi 템플릿을 생성할때 나오는 `WeatherForcast` 프로젝트의 Controller 테스트 코드이다.
using Microsoft.Extensions.Logging; using System.Linq; using Xunit; using Xunit.Abstractions; namespace WebApiTestCase.Controllers.Tests { public class WeatherForecastControllerTests { private ITestOutputHelper _logger; public WeatherForecastControllerTests(ITestOutputHelper logger) { _logger = logger; } [Fact()] public void GetTest() { var logger = LoggerFactory.Create(c => c.AddConsole()).CreateLogger<WeatherForecastController>(); var controller = new WeatherForecastController(logger); var data = controller.Get(); _logger.WriteLine("test"); int expected = 5; int actual = data.Count(); Assert.True(expected == actual, "This test needs an implementation"); } } }
ITestOutputHelper가 오늘 포스트의 주제이다. 위와 같이 코드를 작성하고 테스트를 실행하면 Visual Studio에서 아래 이미지와 같이 로그가 표시된다.
반응형'.NET > 개념 및 유용한 팁' 카테고리의 다른 글
[.NET] IServiceCollection기반 서비스에 args 값 의존성 주입(DI) 간단히 처리하기 (0) 2022.08.03 [EFCore] Microsoft.Data.SqlClient.SqlException 오류 뜰 때 (0) 2022.01.30 [EF Core] 여러 프로젝트가 참조된 솔루션에서 dotnet ef 명령어 사용시 유의사항정리 (0) 2021.08.31 [.NET] Dependency Injection(DI)를 쓰는 이유 (0) 2021.08.07 [.NET] IEnumable에 대한 성능팁 (0) 2021.06.05