ASP.NET 2.0 웹 페이지에 대한 단위 테스트를 수행하는 가장 좋은 방법은 무엇입니까?[닫은]

StackOverflow https://stackoverflow.com/questions/4363

문제

어떤 제안이 있으십니까?C#에서 Visual Studio를 사용합니다.

사용할 특정 도구나 이에 접근하는 방법이 있습니까?

업데이트:

죄송합니다. 좀 더 구체적으로 말씀드렸어야 했습니다.저는 ASP.Net 2.0을 사용하고 있으며 Java용 jUnit과 같은 도구를 더 찾고 있었습니다.NUnit과 NUnitAsp를 살펴보았는데 매우 유망해 보였습니다.그리고 저는 Visual Studio Pro에 테스트 제품군이 있다는 사실조차 몰랐기 때문에 이러한 옵션을 모두 살펴보겠습니다(올 여름에 Visual Studio/Asp.net/C#을 사용하기 시작했습니다).

도움이 되었습니까?

해결책

정말 일반적인 질문이네요.최선을 다하겠지만, 내가 1마일도 놓치는 것을 볼 준비를 하세요.

가정

  1. 일반 ASP가 아닌 ASP.NET을 사용하고 있습니다.
  2. 웹페이지를 실제로 테스트하고 싶지는 않지만 논리 그들 뒤에.실제 .ASPX 페이지를 단위 테스트하는 것은 다소 힘들지만 이를 수행할 수 있는 프레임워크가 있습니다. NUnitAsp 하나입니다.

가장 먼저 해야 할 일은 테스트할 수 있도록 코드를 구성(또는 계획)하는 것입니다.당시 가장 인기 있는 두 가지 디자인 패턴은 MVP와 MVC인 것 같습니다.둘 다 분리 논리 응용 프로그램의 보다 보기(웹 페이지)를 방해하지 않고 논리를 테스트할 수 있습니다.

MVP 또는 MVC가 효과적입니다.MVC는 Microsoft 프레임워크를 보유한다는 장점이 있습니다. 거의 갈 준비가 됐어.

테스트 가능성을 장려하는 프레임워크 패턴을 선택한 후에는 단위 테스트 도구를 사용해야 합니다. NUnit 좋은 출발점입니다.Visual Studio Professional에는 테스트 스위트가 구축했습니다, 하지만 NUnit + 테스트드라이브.NET IDE에서도 작동합니다.

그것은 일종의 정보의 산탄총 폭발입니다.히트한다면 좀 바랍니다.실용적인 책장(Pragmatic Bookshelf)에는 주제를 다루는 좋은 책.

다른 팁

약 1년 전 Polymorphic Podcast에서 ASP.NET의 MVP 구현에 대한 소개를 꽤 훌륭하게 소개한 스크린캐스트 시리즈가 있었습니다.이런 방식으로 구현하면 단위 테스트가 훨씬 더 자연스럽게 이루어집니다.

http://polymorphicpodcast.com/shows/mv-patterns/

이러한 프레임워크는 다음에 유용합니다. 완성 그러나 단위 테스트, 즉 지속성, 비즈니스 로직 등으로부터 격리된 뷰 테스트를 제공할 수는 없습니다.

을 위한 단위 Asp.Net 웹 양식과 MVC를 테스트하는 데 사용할 수 있습니다. 이보나.예를 들어, 데이터베이스 액세스를 모의하고 모의 레코드가 데이터 그리드에 표시되는지 확인할 수 있습니다.또는 통합 테스트와 마찬가지로 로그인 페이지로 이동하여 자격 증명을 입력할 필요 없이 멤버십 공급자를 모의하고 로그인된 시나리오를 테스트할 수 있습니다.

와틴 내가 찾은 것 중 최고입니다.Visual Studio 단위 테스트 또는 nunit에 통합되어 브라우저에서 필요한 거의 모든 작업(링크 클릭, 양식 제출, 텍스트/이미지 찾기 등)을 수행할 수 있으며 .net으로 작성되므로 필요하지 않습니다. Ruby를 설치하려면 (watir에서와 마찬가지로 매우 훌륭한 도구입니다.)

보세요 http://selenium.openqa.org/ 이는 브라우저에 연결되는 단위 테스트를 구축하는 자동화된 좋은 방법을 제공합니다.테스트 기록을 위한 멋진 Firefox 플러그인이 있으며 거의 ​​모든 단위 테스트 프레임워크를 활용할 수 있습니다.지난 달 지역 사용자 그룹 회의에서 프레젠테이션/데모가 있었는데 정말 멋져 보였습니다.

가장 좋은 방법은 모델 로직을 프리젠테이션에서 분리하고 NUnit 또는 유사 항목을 사용하여 모델을 철저하게 단위 테스트하는 것입니다.웹 페이지와 사용자의 상호 작용을 테스트하는 것은 까다로울 수 있습니다.

실제로 사용자와 웹 페이지의 상호 작용을 단위 테스트하고 싶다면 waitn과 같은 추가 도구가 좋을 것 같습니다. 제가 들어본 추가 기능은 다음과 같습니다. 셀렌

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top