최고의 연습을 통합하기 위한 TDD 웹 응용 프로그램 개발은 무엇입니까?

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

  •  09-06-2019
  •  | 
  •  

문제

단위 테스트 ASP.NET 웹 응용 프로그램이 애매한 지점에서 나의 그룹입니다.더 자주하지 않고,좋은 테스트 방법을 통해 균열 및 웹 응용 프로그램을 끝내고 몇 년 동안 살 없는 테스트입니다.

의 원인이 고통점은 일반적으로 주위에 회귀한의 번거 로움을 쓰 UI 자동화 중 개발.

어떻게 당신 또는 당신의 조직을 통합하는 최고의 TDD practices 웹 응용 프로그램 개발은 무엇입니까?

도움이 되었습니까?

해결책

단위 테스트를 달성할 수 있을 것입한 경우 별도의 층 니다.롭 Cooper 적 을 두지 않는 모든 논리에서 당신의 웹 양식보다 다른 논리를 관리하는 프레젠테이션.다른 모든 물건을 논리고 지속성 층에 보관해야 별도의 클래스가 다음을 테스트할 수 있습니다.

을 테스트하는 GUI 같은 일부 사람들 셀레늄.다른 불평은 고통을 설정합니다.

다른 팁

나는 레이어 응용 프로그램에서 최소 단위 테스트 발표자로부터/컨트롤러(중 귀하의 선호도,mvc/mvp)데이터 레이어입니다.는 방법이 좋은 테스트 범위를 통해 대부분의 코드를 작성합니다.

나는 보았다 FitNesse,Watin 셀레늄 옵션으로 자동화하는 UI 를 테스트하지만 내가 없을 사용하여 이러한 모든 프로젝트를 아직,그래서 우리는 인간의 테스트합니다.FitNesse 었고로 기대할 수는 없었지만 소개하는 이뿐만 아니라 소개 TDD(않게 하는 나쁜가요?겠지!).

이것은 좋은 질문,하나는 가입 할 수 있도)

나는 아직도 상대적으로 새로운 웹 개발자,나는 너무 많은 코드는 크게 테스트하지 않았습니다.

나를 위해,나는 유지 UI 가능한 한 가볍 (일반적으로 단 몇 줄의 코드)시험 쓰레기의 모든 것을 다른 사람.적어도 나는 다음 할 수 있습니다 일부는 자신감을 만드는 모든 것 그것은 올바른 것으로 그것이 될 수 있습니다.

그것은 완벽한가?아마도 아니지만 적어도 그것으로 여전히 매우 높게 자동화 및 핵심 코드(대부분이의"마술"일)여전히 매우 좋용가능합니다.

나는 일반적으로 피해 테스트를 포함하는에 의존하 UI 요소입니다.내 호의 통합 테스트는 테스트는 모든 데이터베이스에서 레이어를 보기 레이어(하지만 실제의 레이아웃).

시작하려고 하 테스트 라인을 작성의 실제 코드에서는 새로운 프로젝트이기 때문에 어렵게 작성 테스트니다.

신중하게 선택하이 무엇을 테스트하지 않는 어리석게 작성 테스트에 대한 모든 것입니다.때로는 그것이 지루한 작업,그래서 만들지 않는 그것이 어렵습니다.당신이 쓰는 경우에는 너무 많은 테스트를,당신은 위험을 버리는 작업의 무게에 따라 시간이 걸리는 유지 보수입니다.

하려고 번들로 많은 기능을 가능으로 단일 테스트입니다.는 방법으로,뭔가 잘못되면 오류로 전파됩니다 어쨌든.예를 들어 있는 경우,다이제스트-생성하는 클래스 테스트 실제 출력을,모든 하나의 도우미 기능입니다.

을 신뢰하지 않는 자신.가정 당신은 항상 실수를,그래서 당신은 테스트를 작성하여 당신의 인생을 더 쉽게,더 어렵지 않습니다.

지 않은 경우에 좋은 느낌에 대해 테스트를 작성하고,당신은 아마 잘못;)

일반적인 관행을 모두 이동할 수있는 코드의 코드 숨김하고 객체를 테스트할 수 있습니다족하다는 통념은 미신입니다.이러한 코드는 일반적으로 따르는 MVP 또는 MVC 디자인 패턴이 있습니다.검색하는 경우에"코뿔소 이글루"당신은 아마 링크를 찾을 파괴합니다.는 코드가 가치가 연구,그것을 보여 최고의 MVP 구현에서는 웹 양식을 나는 볼 수 있습니다.

귀하의 코드 숨김이 때,다음과 같은 패턴이,두 가지:

  1. 대중 교통 모든 사용자 작업을 발표자입니다.
  2. 렌더링에서 제공하는 데이터는 발표자입니다.

단위 테스트 발표자해야 하는 것입니다.

업데이트:코뿔소 이글루 여기에서 찾을 수 있습니다: https://svn.sourceforge.net/svnroot/rhino-tools/trunk/rhino-igloo/

이 있었다려고 하기에 마이크로 소프트의 무료(UI 자동화 포함되어 있습니다.NET Framework3.0)와 함께 작동하는 웹 응용 프로그램(ASP.NET).독일이라는 회사 Artiso 이 일어나 블로그를 작성 항목에 대해 설명하는 방법을 달성하는 것(링크).

그러나,그들의 블로그 게시물 또한 링크 MSDN 웹캐스트에 대해 설명하는 UI 를 자동화를 프레임워크 winforms 고 난 후에,나는 당신이 필요 AutomationId 을 얻을 참조하여를 존중하 제어합니다.그러나,웹 응용 프로그램에서 컨트롤 할 수 없 AutomationId.

나는 토마스 Schissler(Artiso)이것에 대해 설명했다는 이점에 internet explorer.그 참조는 기존 기술의 마이크로소프트(더 나)그리고 기대했다는 자신을 IE8 이것을 할 것이 좋다.

그러나 내가 또한 제공 Watin 을 시도하고 작동하는 것 같습니다.나도 좋아 왁스를 구현할 수 있습한 간단한 testcases 을 통해 Microsoft Excel 워크시트가 있습니다.

Ivonna 할 수 있는 단위 테스트 보기.나는 여전히 추천한 이동하는 코드의 대부분은 다른 부분입니다.그러나,일부 코드 그리고 처럼 거기에 참조를 제어 또는 제어 이벤트를 처리기입니다.

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