2007년, 저자는 통합 및 브라우저 자동화 테스트를 위해 Selenium을 사용했습니다. 현재는 플랫폼 간의 유연성과 호환성을 이유로 Playwright가 선호됩니다. 종단 간 테스트를 보장하기 위해 Playwright 테스트는 Visual Studio 또는 VS Code를 사용하여 .NET 애플리케이션에 통합됩니다.
이전에는 ASP.NET을 단위 테스트 내에서 시작하기 위해 WebApplicationFactory를 사용하는 해킹 방법이 사용되었습니다. 그러나 .NET 8에서는 IWebHostBuilder가 IHostBuilder로 대체되어 코드 변경이 필요합니다.
저자의 목표는 NUnit 내에서 Playwright 테스트를 작성하는 것입니다. 이는 실행 중인 웹 애플리케이션과 정의된 URL을 가정합니다. WebApplicationTestBuilderFactory는 TestHost 내에서 웹 앱을 시작하고 동적으로 포트를 가져옵니다.
빌더 팩토리는 MSBuild에 의해 생성된 매니페스트 파일을 사용합니다. 이는 .NET 8에서 필요한 회피책입니다. 그러나 이 해킹 방법은 .NET 9에서 제거될 수 있어 테스트를 더 직접적으로 만들 수 있습니다.
이러한 개선 사항으로 인해 단위 테스트와 Playwright 통합 테스트를 모두 다양한 운영 체제와 환경에서 실행할 수 있어 .NET 8으로 업데이트된 사이트에 대한 포괄적인 테스트를 보장할 수 있습니다.
feeds.hanselman.com
Updating to .NET 8, updating to IHostBuilder, and running Playwright Tests within NUnit headless or headed on any OS
