2016-07-13 2 views
2

http 요청을 모의하기 위해 노크를 사용하고 있습니다.Nock이 Nightwatch + Selenium과 작동하지 않습니다.

내 앱은 Redux + React를 사용하여 작성되었습니다.

import nock from "nock" 

nock("http://localhost:8080") 
    .log(console.log) 
    .get("/fake/users/sign_in.json") 
    .reply(500, 'Error') 

const doLogin = (browser) => { 
    return browser 
      .url("http://localhost:8080") 
      .waitForElementVisible('form', 1000) 
      .setValue('input[name=email]', '[email protected]') 
      .setValue('input[name=password]', 'somepass') 
      .click('button[type=submit]') 
      .pause(500) 
} 

export default { 
    "Do login and receive success message": (browser) => { 
    doLogin(browser) 
     .assert.urlContains('panel') 
     .end() 
    } 
} 

요청이 실패하면 오류 500은 테스트를 통과 할 수 있지만 현재 통과합니다. 그래서 나는 비웃음이 요청을 조롱하지 않는다고 생각한다.

+0

이 올바른지 사용해야합니다. 질문은 무엇입니까? – gurghet

+0

이 요청을하는 것이 가능하다고 생각했습니다 –

+0

브라우저에 노크를 삽입해야합니다 – gurghet

답변

2

당신은

... 
.execute(`var importScript = (function (oHead) { 

    function loadError (oError) { 
    throw new URIError("The script " + oError.target.src + " is not accessible."); 
    } 

    return function (sSrc, fOnload) { 
    var oScript = document.createElement("script"); 
    oScript.type = "text\/javascript"; 
    oScript.onerror = loadError; 
    if (fOnload) { oScript.onload = fOnload; } 
    oHead.appendChild(oScript); 
    oScript.src = sSrc; 
    } 

    })(document.head || document.getElementsByTagName("head")[0]); 
    importScript('http://somewhere.com/nock.js')`) 
관련 문제