문제

내 프레임워크는 주요 자바 스크립트 jQuery 그래서 나는 나의 유닛 테스트하고 조롱하는 프레임워크를 호환될 수 있습니다.오히려 하지를 소개하고 있는 또 다른 JavaScript framework.

나는 현재 사용하는 Qunit 을 에 대한 단위 테스트 에 대한 조롱하지만,나는 아주 새로운 전체 단위의 테스트 JavaScript.

다른 사람이 더 나은 도구를 제안?무엇이 당신을 위해 일했?

도움이 되었습니까?

해결책

Qunit
JQUNIT
Qunit 및 JQUnit으로 JS 테스트 작성

Qunit은 JQuery JavaScript 프레임 워크의 장치 테스트 프레임 워크입니다. 테스트 프레임 워크 자체는 jQuery 라이브러리를 사용하지만 테스트는 JavaScript에 대해 작성할 수 있으며 jQuery를 사용하기 위해 코드가 필요하지 않습니다. JQUNIT는 Xunit 프레임 워크의보다 일반적인 설정, 분해 및 주장 기능을 추가하는 수정 된 Qunit 버전입니다.

TestRunner 페이지의 시각적 인터페이스는 훌륭하므로 모든 테스트 방법에서 드릴 다운하고 각 어제를 볼 수 있습니다. 테스트 작성은 상당히 쉽고 테스트 런너 페이지에서 직접 테스트 코드를 실행할 수 있습니다 [8]. 이를 통해 쉽고 눈에 띄는 DOM 테스트가 가능합니다.

Qunit : MIT 또는 GPL (선택) JQUNIT : MIT 라이센스

프로
- 비동기 지원
- DOM 테스트에 좋습니다
- 테스트는 항상 스위트에 추가되는 순서대로 순차적으로 실행됩니다.
- FireBug를 사용하여 테스트 페이지의 디버그
- 구문은 JQUnit을 사용하는 경우 Junit과 유사하지만 Qunit을 사용하는 경우 배우기가 간단합니다.
단점
- 자동화를 구현하기가 어려울 것입니다

다른 팁

내가 생각하는 잭은 최고의 조롱 위한 프레임으로 자바 스크립트의 시간이 쓰기.주된 이유는 무엇인의 권리에 대한 자바 스크립트지 않을 가능성이 높은 무엇인 권리에 대한 강력한 형식 언어와 같이 Java.

많은 JavaScript 조롱하는 프레임워크에 의해 영감을 Java 모의 프레임워크에(같은 훌륭한 JsMockito,예를 들어).하지만 문제는 이러한 그들 종속성을 주입하기 때문에,그에 대한 유일한 합리적인 방법을 사용하여 조롱에서 Java.그러나 자바스크립트에서는 많은 방법을 사용하여 조롱하고 있지 않은 강제 으로 사용하여 주입에 의존다.

예를 들어,JsMockito,당신은 조롱하고 다음 패스는 그를 조롱으로 귀하의 소프트웨어에서 테스트(SUT).이 SUT 가 직접 전화를 조롱.따라서,당신은 코드 SUT 로 생성자 또는 사용하는 함수에서 모든 종속 매개 변수로 사용합니다.(때로는,그것의 좋은 방법이 구현,하지만 모든 경우.꼬리를 흔들 경우 개의 조롱하는 프레임워크의 디자인이 강제 구현 방식).

에서 자바스크립트,그것은 매우 쉽게"납치"모든 기능이다.따라서,톤이있는 방법의 무언가를 구축할 수 있습니다 그런 모의 부분의 없이 명시적으로 주입하여 그것의 종속성입니다.예를 들어,잭은 당신이 모 기능 여부,그것은 공공 또는 지역 개체입니다.거기에서 당신이 할 수있는 스파이에 그것은,스텁,그것 또는 표현에 대한 기대습니다.중요한 점은 이것입니다: 일단 당신이 조롱하는 함수 호출하는 본래의 기능을 대신 지시될 당신의 목.다시 말해서,귀하의 조롱으로 완전히 사용하더라도 원본,유엔 조롱 함수가 호출됩니다.결과적으로,당신은 당신이 강제되지 않을 주입 의존성,하지만 당신은 확실히 그렇게 할 수 있습 그러한 경우에는 호출한다.

자바스크립트는 다른 언어로 자바(C#,etc.) 그것은 다른 구현 숙어입니다. 성 주입 여전히 하나는 소중한 도구는 도구 상자에서 자바스크립트,하지만 그것은 단지 게임에서 마을 더 이상입니다. 귀하의 희롱하는 프레임 워크를 알아야하고 존경하는 사실이다.잭과의 몇 가지 다른 사람이,하지만 할 사람 잭 나타나 가장 성숙한 다양한 기능입니다.

왜 아무도 언급하지 않았는지 잘 모르겠습니다 Jstestdriver! 다른 언어로 단위 테스트 도구를 사용했을 때 실제로 예상하는 것처럼 실제로 작동하는 유일한 JS 테스트 도구 중 하나 여야합니다.

브라우저를 터치하지 않고 실행중인 테스트를 수행 할 수 있으며 IDE와 통합 할 수 있으며 연속 통합 시스템과 통합 할 수 있습니다. 오, 빠르며 여러 브라우저에서 동시에 테스트를 실행할 수 있습니다.

Yuitest와 같은 다른 테스트 프레임 워크를 사용하여 더 나은 테스트 프레임 워크를 사용할 수 있습니다.

Yui 테스트
Yui 테스트를 가진 TDD

Yui Test는 Yahoo의 사용자 인터페이스 라이브러리의 테스트 프레임 워크입니다. Yahoo는 자체 라이브러리를 테스트하는 데 사용되며 Junit과 유사한 구문을 가지고 있습니다.

JSUNIT와 마찬가지로 YUI 테스트에는 각 테스트 결과 외에 정보, 경고 및 오류를 출력 할 수있는 자체 로깅 콘솔이 제공됩니다.

Yui는 또한 능력을 제공합니다 보고서를 보냅니다 JSON 또는 XML 형식의 결과에서.

Yui Test는 BSD 라이센스가 부여되었습니다.

프로
- 정말 좋은 문서
- 활발한 커뮤니티
- 정기적 인 릴리스
- 구문은 Junit과 유사합니다 (테스트 스위트, 어시스트 및 설정/파열)
- 비동기 지원
- DOM 테스트에 좋습니다
- 테스트는 항상 스위트에 추가되는 순서대로 순차적으로 실행됩니다.

단점
- 자동화는 구현하기가 좋지 않지만 다른 프레임 워크보다 덜 어렵습니다.

또한 체크 아웃하십시오http://sinonjs.org/

테스트 스파이 테스트 스터브가 가짜 타이머 가짜 XHR 가짜 서버 샌드 박스 어설 션

그것은 Qunit과 함께 작동하며 지금까지 플러스였습니다.

이것은 JavaScript에서 사용할 수있는 조롱 프레임 워크에 대한 아주 좋은 검토입니다.

http://testdrivenwebsites.com/2010/05/06/java-script-mock-frameworks-comparison

우리는 JSSPEC를 사용하고 있습니다 JSSPEC. RSPEC와 BDD를 좋아한다면 아주 좋습니다. 방금 봤어요 Justin Gehtland의 기사 "헤드리스"도 사용합니다.

자바 스크립트를 조롱하려면 살펴보십시오 QMOCK, 프레임 워크 동료와 나는 Qunit 사용을 보완하기 위해 편지를 썼습니다. 후자는 단위 테스트에 적합하지만 효과적인 비동기/비즈니스 로직 테스트를 허용하지 않습니다. 우리는 릴리스를 '태그'하지 않았다. 그러나 거기에는 괜찮은 문서가 있으며, SVN을 확인하면 QMock 자체가 상당히 자기 설명하는 단위 테스트를 볼 수 있습니다.

오, 빌드의 일부로 테스트를 자동화하기 위해 간단한 Selenium 스크립트를 사용하여 테스트 스위트 (JS 파일 당 하나의 테스트 페이지)를 탐색하고 패스 또는 실패 CSS 클래스 (Qunit에 의해 추가)를 위해 '청취'를 탐색했습니다. 이것은 IE/FF2 AFAIK에도 헤드리스가 작동합니다.

Mozilla 개발을 위해 나는 사랑에 빠진다 UXU, Mozunit을 기반으로하지만 여전히 활동적입니다. Mock Server 또는 Sleep / Yeld 메소드와 같은 멋진 기능이 있습니다.

나사 단위 테스트 프레임 워크를 사용하고 내 직접 작성했습니다. JSMocha라는 조롱 라이브러리 내가 6 개월 이상 일하는 회사에서 많이 사용해 왔습니다.

나는 당신이 jQuery 호환 프레임 워크를 요구하고 있다는 것을 알고 있습니다. script.aculo.us 완전성을위한 믹스에. 그들은 가지고 있습니다 단위 테스트 나쁘지 않은 스위트.

CrossCheck은 내가 그것을 보았을 때 매우 강력 해 보였지만, 현재 우리는 그것을 빌드 프로세스에 통합하지 않았습니다. 브라우저가 없다는 장점이 있으므로 자동화 된 빌드 및 테스트 시나리오에서 잘 작동해야합니다.

http://thefrontside.net/crosscheck

당신은 시도 할 수 있습니다 htmlunit 그곳에는 jQuery 호환 릴리스 1 년 전에.

htmlunit의 장점은 브라우저를 구동하지 않으므로 빠릅니다.

단점은 브라우저를 구동하지 않으므로 작동하지 않는 JS가 있다는 것입니다. 그러나 jQuery 테스트를 실행할 수 있으므로 JS 지원이 필요한 것에 충분할 수 있습니다.

JSUNIT 브라우저에서, Eclipse 플러그인을 통해 또는 ANT 작업을 통해 자동으로 실행됩니다. 접두사 '테스트'로 명명되어야하는 다양한 테스트 기능이있는 HTML 페이지를 작성하고 테스트중인 JS 파일을 포함합니다. 함수 내의 어떠한 주장이 실패하면, 전체 함수가 실패하고 실행을 중지합니다. 이러한 테스트가 실행되는 보장 된 순서는 없습니다. 당신은 만들 수 있습니다 setup() 그리고 teardown() 기능.

라이센스 : GPL, GLPL, MPL

프로

  • 자동화는 비교적 구현하기 쉽습니다
  • 많은 기능
  • 구문은 Junit과 유사합니다

단점

  • DOM 테스트는 Iframe 내에서 테스트를 실행하므로 적합하지 않습니다.
  • 테스트가 작성된 순서대로 실행 될 것이라고 보장하지 않습니다.
  • TestRunner 페이지에서 FireBug를 사용할 수 없습니다. 실제 테스트 코드와 함께 다른 탭을 열어야합니다.
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top