2014-11-16 5 views
1

I가 다음과 같은 주장 ...어설 실패 CukeJS 대신에 걸려 시험

 promise.then(function() { 
        assert.ok(browser.query(addForm), "It should have the add form"); 
      callback(); 
      }) 

하지만 그것은 빨간색 갈 볼 때, 대신 나는 좀 ..

Possibly unhandled AssertionError: It should have the add form 

및 테스트 스위트는 더 이상 가지 않을 것입니다.

답변

1

Cucumber.js는 함수 내에 어떤 것이 던져지면 문제가있는 것 같습니다. 당신이 사용하는 어설 션 프레임 워크를 잘 모르겠지만 Chai를 사용하여 유사한 문제에 부딪 혔습니다. 콜백을 사용하여 then()으로 전달했습니다. 이 문제를 해결하기 위해 콜백 외부의 예상을 당겨 here으로 표시했습니다.

편집, 링크를 포함한 코드 : 예를 들어

, 당신은 차이와 코드를 사용하고있는 경우는이처럼 보였다 : 당신은 약속을 이해할 수있는 라이브러리를 사용하여 코드를 수정할 수

element(by.tagName('body')).getText().then(function (text) { 
    text = doSomethingSpecial(text); 
    expect(text).to.equal('something'); 
}); 

(이 경우에는 chai-as-promised와 같이) 이렇게 보일 것입니다 :

var text = element(by.tagName('body')).getText().then(function (text) { 
    return doSomethingSpecial(text); 
}); 
expect(text).to.eventually.equal('something'); 
+0

코드 예제를 링크에서 복사 할 수 있습니까? k 만료됩니까? – mjuarez