INNENTÜREN, TUNING DESIGN TÜREN aus Slowenien.


  • Ljubljana


    0038651 - 660 - 406

  • Ptuj


    0038651 - 316 - 130
    0038631 - 688 - 777

c# 단위테스트 예제

c# 단위테스트 예제

그 훨씬 더 풍부한 정보를 보고 하는 생성자가 있다: 인수OutOfRangeException (문자열, 개체, 문자열) 인수의 이름, 인수 값 및 사용자 정의 된 메시지를 포함 합니다. 이 생성자를 사용 하 여 테스트에서 메서드를 리팩터링할 수 있습니다. 더 좋은 것은 공개적으로 사용 가능한 형식 멤버를 사용하여 오류를 지정할 수 있습니다. 나는 그들이 단지 간단한 작업을 할 때 게터와 세터를 테스트하는 것이 바보 라고 생각합니다. 개인적으로 나는 어떤 사용 패턴을 다루기 위해 복잡한 단위 테스트를 작성하지 않습니다. 정상적인 실행 동작과 생각할 수있는 많은 오류 사례를 처리했는지에 대해 충분한 테스트를 작성하려고합니다. 버그 보고서에 대한 응답으로 더 많은 단위 테스트를 작성합니다. 단위 테스트를 사용하여 코드가 요구 사항을 충족하는지 확인하고 나중에 쉽게 수정할 수 있습니다. 나는 뭔가를 깰 경우 테스트가 실패할 것이라는 것을 알고있을 때 코드를 변경하고자하는 것이 훨씬 더 기꺼이 느낍니다.

규칙은 작성하는 논리의 모든 부분을 테스트해야 한다는 것입니다. getters 및 setters에서 몇 가지 특정 기능을 구현했다면 테스트 할 가치가 있다고 생각합니다. 일부 개인 필드에만 값을 할당하는 경우 귀찮게 하지 마십시오. 프로젝트 템플릿 검색 상자를 사용하여 사용하려는 테스트 프레임워크에 대한 단위 테스트 프로젝트 템플릿을 찾습니다. 단위 테스트를 위한 Microsoft Visual Studio 2010에서는 특수 메뉴 `테스트`가 구현됩니다. ThrowsException 메서드를 사용하여 올바른 예외가 throw되었음을 어설션합니다. 이 메서드는 인수OutOfRangeExceptionthrowthrow 되지 않는 한 테스트가 실패 합니다. 차변 금액이 0보다 작은 경우 더 일반적인 ApplicationException을 throw하기 위해 테스트에서 메서드를 일시적으로 수정하면 테스트가 올바르게 작동합니다. 코드에서 테스트가 필요한 위치를 정확하게 추측할 수 있지만 일반적으로 이 추측을 백업하려면 메트릭이 필요하다고 생각합니다. 내 보기에서 단위 테스트는 코드 검사 메트릭과 함께 진행됩니다. 첫 번째 테스트를 실행하고 테스트가 통과 될 때까지 작은 버그를 수정했습니다. 상용구 코드를 테스트하는 것은 시간 낭비이지만 Slavo가 말했듯이 getters / setter에 부작용을 추가하면 해당 기능을 동반하는 테스트를 작성해야합니다.

표시된 템플릿에서 프로젝트 템플릿 “테스트 프로젝트”가 선택됩니다. “이름” 필드는 프로그램을 테스트할 프로젝트의 이름을 나타냅니다. 예를 들어 TestMinApp을 설정해야 합니다. 프로젝트는 별도의 폴더 “E:TestMinApp”에 있습니다. 테스트를 작성하여 작성한 코드의 유효성을 검사합니다. 사물 의 컬렉션을 반복하고 각 사물에 대해 무언가를 변경하는 경우 실제로 일어난 것과 동일한 작업을 수행하는 테스트를 작성하고 Assert를 작성합니다. 속성이 사소하고 누군가가 버그를 도입 할 가능성이 없는 경우 단위 테스트하지 않는 것이 안전해야합니다. Q: 테스트를 실행하기 위해 여러 데이터 집합을 입력으로 하는 단위 테스트를 만들 수 있습니까? 단위 테스트는 소프트웨어 개발 워크플로우의 필수적인 부분인 코드 품질에 가장 큰 영향을 미칩니다. 함수 또는 다른 응용 프로그램 코드 블록을 작성하는 즉시 표준, 경계 및 잘못된 입력 데이터 사례에 대한 응답으로 코드의 동작을 확인하고 코드에서 만든 명시적 또는 암시적 가정을 확인하는 단위 테스트를 만듭니다. 테스트 기반 개발을 사용하면 코드를 작성하기 전에 단위 테스트를 만들수 있으므로 단위 테스트를 설계 문서 및 기능 사양으로 모두 사용합니다. 클래스에서는 다른 모듈의 다른 함수를 테스트하는 여러 가지 메서드를 입력할 수 있습니다.

중요한 것은 속성 [TestMethod]에 의해 발견 이러한 방법이 있다는 것입니다.