2017-12-29 34 views
0

BDD 사용 cucmber.js로 단위 테스트를 작성하고 연습하고 있습니다. 'And'문을 사용하려고 할 때.cucumber.js 그리고 함수가 아닙니다.

TypeError: Add is not a function 
    at ... // my file location 
npm ERR! code ELIFECYCLE 
npm ERR! errno 1 
npm ERR! [email protected] cucumber: `cucumber.js ./test/e2e/Features -r ./test/e2e/StepDefinition` 
npm ERR! Exit status 1 
npm ERR! 
npm ERR! Failed at the [email protected] cucumber script. 
npm ERR! This is probably not a problem with npm. There is likely additional logging output above. 

npm ERR! A complete log of this run can be found in: 
npm ERR!  /Users/lab1321_mac_air/.npm/_logs/2018-01-04T08_15_28_568Z-debug.log 
:이 오류는 다음
TypeError: Add is not a function 

내 코드

.feature

Feature: dataTable 
Scenario Outline: <a> + <b> + <c> = <answer> 
    Given I had number <a> 
    And I add another number <b> 
    When I add with <c> 
    Then I got answer <answer> 

Examples: 
|a|b|c|answer| 
|1|2|3|6| 
|10|15|25|50| 

.stepDefinition

defineSupportCode(function({Given,When,Then,And}){ 
    let ans = 0; 
    Given('I had number {int}', function(input){ 
    ans = input 
    }) 
    And('I add another number {int}',function(input){ 
    ans += input 
    }) 
    When('I add with {int}',function(input){ 
    ans += input 
    }) 
    Then('I got answer {int}', function(input){ 
    assert.equal(ans,input) 
    }) 
}) 

하고 오류 메시지가 아래와 같은 것을 보여준다

내가 뭔가 잘못 작성했는지 궁금합니다. 감사!

+0

/그런 다음 (귀하의 예제에서 난 당신이 "그리고"전에 4 개 공간을 사용하고 있는지 참조) 때/주어와. 로그 (typeof And)'? – gurvinder372

+0

표시되는 오류는'추가 기능이 아닙니다'입니다 ... 제목에'그리고 함수가 아닙니다'... 명확히하십시오 –

답변

0

시도의 정렬 그리고 당신은`콘솔 무엇인지`definedSupportCode`의 콜백을 입력 할 때

+0

'추가'기능이 제대로 작동합니다 (오류 메시지가 표시되지 않음). .stepDefinition에서 오류가 발생합니다. – JeffChen