YUI 시험 3.0.0의 새로운 기능

년 | 9시 7분에서 2009년 12월 10일 니콜라스 C. Zakas하여 오전 개발 | 코멘트 끄기

니콜라스 C. Zakas은 2006 년 야후에 합류했습니다. 그는의 저자는 전문 아약스웹 개발자를위한 전문 자바 스크립트 . 그의 테스트 기반 개발 프레 젠 테이션에 니콜라스의 몇 가지 중 하나입니다 YUI 극장 .

의 새 버전 YUI 테스트 의 출시와 함께 YUI 3.0.0가 . 3.0.0에 대한 YUI 시험보다 YUI 시험 2.x에서 호환 버전의 단순한 포트보다하지만, 몇 가지 새로운 기능을 소개합니다. 이들은 이미 도구를 사용하여 사람들과 했어 개발자 요청과 대화의 결과로 약왔다.

이벤트 시뮬레이션의 추진

이벤트 시뮬레이션은 원래 통해 YUI 테스트의 2.x에서 버전에서 도입되었습니다 YAHOO.util.UserAction 개체입니다. 알고 보니, 개발자들은 정말이 기능을 좋아하고 테스트 환경 밖에서 사용을 발견했습니다. 그 결과, 이벤트 시뮬레이션 도구는의 일류 멤버로 승격되었습니다 YUI 3.0.0 이벤트 유틸리티 하나의 방식으로 접근, Y.Event.simulate() . 당신이 전달하여 이벤트 시뮬레이션 구성 요소를 포함시킬 수 있습니다 "event-simulate"YUI().use() 방법 :

  YUI는 (). ( "이벤트 시뮬레이션 '기능 (Y)을 {사용
     Y.Event.simulate ( "를 클릭하십시오", "# 노드"
                      {clientX : 25, clientY : 30});
 }); 

모의 개체

모의 객체의 생성 : YUI 3.0.0에 대한 YUI 테스트 새로운 기능을 소개합니다. 모의 객체는 의존성에서 단위 테스트를 분리하는 데 유용합니다. 복잡한 소프트웨어 시스템에서 서로에 의존하는 부분의 숫자가 종종 있습니다. 문제는 그때 뭔가 잘못되면 실패하는 시스템의 일부가 분리된다.

예를 들어, 당신이 전화를하는 방법이있다 는거야 logToServer() 만드는 것입니다 XMLHttpRequest 개체 및 서버에게 메시지를 보내합니다. XHR 객체 자체와 서버 : 테스트 기능을 테스트하기 위해 실제 XHR 객체가 포함되어있는 경우, 당신은 두 가지 주요 의존성이 있습니다. 이 두 종속성 중 하나가 실패하면 그것이 결함의 코드 아니더라도, 다음 테스트가 실패합니다. 모의 XHR 객체를 사용하면 격리의 코드를 테스트하고 일하고 있다고 보장할 수있다. 예를 들면 다음과 같습니다

  / /는 새 모의 개체를 만듭니다
 var에 mockXhr은 = Y. 모의 (); 

 / / 나는 () Open 메서드는 주어진 인자와 함께 호출 기대
 Y.Mock.expect (mockXhr {
     방법 : "열기"
     인수 : [ "? / log.php 오류 = 안녕하세요", "얻을"진실]
 }); 

 주어진 인자와 함께 호출해야 / / 나는 () 보내기 예상 방법
 Y.Mock.expect (mockXhr {
     방법 : "보내기"
     인수 : [NULL]
 }); 

 / / 이제 함수를 호출
 logToServer ( "안녕하세요", mockXhr); 

 / / 기대가 충족되었습니다 확인
 Y.Mock.verify (mockXhr); 

이 예제는 일반적인 XHR 객체 대신에 사용되는 모의 XHR 객체를 만듭니다. 일단 작업이 모두 완료되었습니다, 코드는 예상 메서드가 호출될 것을 확인합니다. YUI 시험 모의 객체 API는 가능한 한 명확하고 유용하게 의도적으로 최소한의 것입니다. YUI 테스트에서 모의 개체에 대한 자세한 내용을 참조하십시오 설명서를 .

친절한 테스트 이름

YUI 테스트 초기에 각 시험 방법의 이름이로 시작해야합니다 의하여 시험 방법의 xUnit 스타일의 사용 test . 3.0.0에 대한 YUI 테스트가 추가 xUnit 스타일의 이름에 친화적인 테스트 이름을 지정할 수 있도록 한 걸음 더 나아가갑니다. 친절 이름은 다른 무엇보다 문장이며, 유일한 제한은 그 이름이 하나 이상의 공간과 단어를 "한다"를 포함합니다. 예를 들면 다음과 같습니다

  var에 testCase = 새로운 Y.Test.Case ({ 

     이름 : "TestCase 이름" 

     / / xUnit 스타일의 테스트 이름
     testSomeFunction : 함수 () {

     }

     / / 친절한 테스트 이름
     "여기서 뭔가 일이 생긴다"함수 () {
         ...
     }
 }); 

친절한 테스트 이름은 당신이 읽기 방식으로 테스트중인 기능을 설명하실 수 있습니다. 같은 문구 쓰기 '방법하면 2 2 지나갈 때 4 반환해야 "하고, 그 시험 결과에 표시하는 데, 쉽게 검사 결과를 해석하고 다른 어떤 언급해야합니다.

다음은 뭐지?

YUI 테스트 진화와 피드백이 개발자로부터받은대로 성장을 계속하고 있습니다. 현재 작품의 몇 가지 기능이 있습니다 :

  • 같은 JUnit XML과 TAP와 같은 테스트 결과 형식.
  • 코드 커버 리지 수집 및보고.
  • 셀레늄을 사용하여 테스트 자동화.

당신이 생각이나 의견이 있으면, 우리는 여러분의 의견을 언제나 환영합니다 YUILibrary.com 할 수, 기능 요청을 파일 또는 토론의 시작 포럼을 . 당신의 도움으로, YUI 테스트는 끊임없이 변화하는 웹 개발 커뮤니티의 요구를 충족하기 위해 계속 발전할 수 있습니다.

공유 및 확장 : del.icio.us로 스크랩 | 디그 그것! | 레딧!

아직 코멘트 없음

죄송합니다, 코멘트 양식이 시간에 문을 닫습니다.

야후에 의해 호스팅

저작권 © 2006년부터 2012년까지 야후 주식 회사 판권 소유. 개인 정보 보호 정책 - 서비스 약관

에서 제공하는 워드 프레스 에서 야후! 웹 호스팅 .