2011-09-27 4 views
0

node.js 라이브러리 인 code.js에 간단한 qunit 테스트를 작성하려고합니다. 첫 번째 테스트 케이스는 내가 시도하는 가장 간단한 테스트 케이스이며 내 code.js 라이브러리에서 내 보낸 함수를 사용하지 않지만 작동하지 않습니다. 다음과 같이node.js의 qunit을 사용하여 http.get()을 테스트하십시오.

QUnit 모듈은 다음과 같습니다

module = QUnit.module 

var = http.require('http'); 

test("client test", function(){ 
    expect(1); 
    var options = { 
     host: 'www.google.es', 
     port: 80, 
     path: '/' 
    } 
    http.get(options, function(res){ 
     ok(true, "http.get callback success"); 
    }); 
}); 

나는 문제 중 하나가 GET 콜백 전에 테스트 실행 종료가 실행됩니다 있다는 것을 생각하지만, 난 정말 모르겠어요. 어쩌면 나머지 문제는 제가 qunit 초보자라는 것입니다. 그래서 나는 정말로 모든 의견을 사과 할 것입니다.

해결 방법 : 내가 asyncTest 사용합니다 :

asyncTest("client test", function(){ 
    expect(1); 
    var options = { 
     host: 'www.google.es', 
     port: 80, 
     path: '/' 
    } 
    http.get(options, function(res){ 
     ok(true, "http.get callback success"); 
     start(); 
    }); 
}); 

답변

0

는 솔직히 말해서을,이 API는 군더더기 것으로 보인다,하지만 난 당신이 아니라 테스트

https://github.com/kof/node-qunit/blob/master/test/api.js#L107-115

보다 asyncTest을 찾고 있다고 생각

이 모듈의 팬이 아닙니다.

+0

확실히, 나는 asyncTest를 사용해야했습니다. 전에 시도했지만 올바른 방법으로 시도하지 않았습니다. 따라서 QUnit으로 비동기 테스트를 성공적으로 작성하려면 어설 션 후 start()를 호출해야합니다. 내 질문을 편집하여 작업 코드를 게시합니다. – dysfuntcional