2016-12-19 1 views
1

node-jasmine 테스트를 처음 설정하려고합니다. 현재는 인덱스를 가져 오는 것이 상태 200을 반환하는 것을 확인하기위한 간단한 테스트를 시도하고 있습니다.Node-Jasmine이 예상대로 실패하지 않음

상태가 작동하지 않는 것으로 보였지만 상태 번호를 변경하지 않아도 문제가 발생하지 않았습니다.

const request = require("request") 
const helloWorld = require("../app.js") 
const base_url = "http://localhost:3002/" 

describe("Return the index page", function() { 
    describe("GET /", function() { 
    it("returns status code 200", function() { 
     request.get(base_url, function(error, response, body) { 
     expect(response.statusCode).toBe(666) 
     done() 
     }) 
    }) 
    }) 
}) 

반환 : 내가 여기에 실패를 예상

Finished in 0.009 seconds 
1 test, 0 assertions, 0 failures, 0 skipped 

666, 그러나 나는 실패를하지 않습니다.

답변

1

done 콜백을 테스트 함수의 매개 변수로 포함시켜야합니다.

예 :이없이

it("returns status code 200", function(done) { 
    request.get(base_url, function(error, response, body) { 
    expect(response.statusCode).toBe(666) 
    done(); 
    }) 
}) 

은, 시험은 비동기 요청이 반환되기 전에 완료된다.

0

답변을 찾은 것처럼 보이지만 비슷한 문제가 있습니다. 내 문제는 요청이 실패하고 주장에 도달하지 못했다는 것이 었습니다. 아래에 오류 캐치를 추가하면 문제가 발견되었습니다!

저는 재스민을 처음 접했지만 테스트에서 생성 된 예외가 더 눈에 띄지 않거나 명백하지 않으므로 누구나보다 잘 처리 할 수있는 방법에 대한 의견이 있으면 알려 주시기 바랍니다.

const request = require("request") 
const helloWorld = require("../app.js") 
const base_url = "http://localhost:3002/" 

describe("Return the index page", function() { 
    describe("GET /", function() { 
    it("returns status code 200", function() { 
     request.get(base_url, function(error, response, body) { 
     if (error) 
      console.log("Something borked: ", error); 

     expect(response.statusCode).toBe(666) 
     done() 
     }) 
    }) 
    }) 
})