난 BJD와 노드 JS를 사용하여 grunt-triggered Cucumber JS 작업을 시도하고 있는데, 잘 작동한다는 것을 제외하고는 전체 JS 예외 스택을보고 싶지는 않다. 대신, 나는 차라리 예외의 (더 유용한) 머리를 보게 될 것이다. 사소한 것처럼 보일지 모르지만, BDD는 이러한 종류의 도구에서 빠른 피드백을 얻는 것이 가장 효과적이라고 믿습니다. 아직 명시되지 이것은 다음 더 유용 뒤에Cucumber JS의 오류 헤더 만 표시하려면 어떻게해야합니까?
TypeError: Object #<Object> has no method 'delete'
at World.<anonymous> ($HOME/features/step_definitions/delete-item.steps.js:20:21)
at Object.invoke ($HOME/node_modules/grunt-cucumber/node_modules/cucumber/lib/cucumber/support_code/step_definition.js:84:14)
at Object.execute ($HOME/node_modules/grunt-cucumber/node_modules/cucumber/lib/cucumber/ast/step.js:157:22)
at Object.acceptVisitor ($HOME/node_modules/grunt-cucumber/node_modules/cucumber/lib/cucumber/ast/step.js:149:12)
at Object.executeStep ($HOME/node_modules/grunt-cucumber/node_modules/cucumber/lib/cucumber/runtime/ast_tree_walker.js:178:12)
at Object.processStep ($HOME/node_modules/grunt-cucumber/node_modules/cucumber/lib/cucumber/runtime/ast_tree_walker.js:173:14)
at $HOME/node_modules/grunt-cucumber/node_modules/cucumber/lib/cucumber/runtime/ast_tree_walker.js:66:16
at callUserFunctionAndBroadcastAfterEvent ($HOME/node_modules/grunt-cucumber/node_modules/cucumber/lib/cucumber/runtime/ast_tree_walker.js:90:9)
at iterate ($HOME/node_modules/grunt-cucumber/node_modules/cucumber/lib/cucumber/type/collection.js:14:11)
at Object.forEach ($HOME/node_modules/grunt-cucumber/node_modules/cucumber/lib/cucumber/type/collection.js:23:7)
at broadcastToListeners ($HOME/node_modules/grunt-cucumber/node_modules/cucumber/lib/cucumber/runtime/ast_tree_walker.js:117:19)
at onRuntimeListenersComplete ($HOME/node_modules/grunt-cucumber/node_modules/cucumber/lib/cucumber/runtime/ast_tree_walker.js:113:9)
at iterate ($HOME/node_modules/grunt-cucumber/node_modules/cucumber/lib/cucumber/type/collection.js:14:11)
at $HOME/node_modules/grunt-cucumber/node_modules/cucumber/lib/cucumber/type/collection.js:20:11
at hear ($HOME/node_modules/grunt-cucumber/node_modules/cucumber/lib/cucumber/listener.js:8:9)
at $HOME/node_modules/grunt-cucumber/node_modules/cucumber/lib/cucumber/listener/summary_formatter.js:16:7
at Object.hear ($HOME/node_modules/grunt-cucumber/node_modules/cucumber/lib/cucumber/listener.js:8:9)
at Object.hear ($HOME/node_modules/grunt-cucumber/node_modules/cucumber/lib/cucumber/listener/summary_formatter.js:15:18)
at $HOME/node_modules/grunt-cucumber/node_modules/cucumber/lib/cucumber/runtime/ast_tree_walker.js:118:51
at processItem ($HOME/node_modules/grunt-cucumber/node_modules/cucumber/lib/cucumber/type/collection.js:19:9)
at iterate ($HOME/node_modules/grunt-cucumber/node_modules/cucumber/lib/cucumber/type/collection.js:12:11)
at Object.forEach ($HOME/node_modules/grunt-cucumber/node_modules/cucumber/lib/cucumber/type/collection.js:23:7)
at broadcastToListeners ($HOME/node_modules/grunt-cucumber/node_modules/cucumber/lib/cucumber/runtime/ast_tree_walker.js:117:19)
at Object.broadcastEvent ($HOME/node_modules/grunt-cucumber/node_modules/cucumber/lib/cucumber/runtime/ast_tree_walker.js:109:7)
at Object.broadcastBeforeEvent ($HOME/node_modules/grunt-cucumber/node_modules/cucumber/lib/cucumber/runtime/ast_tree_walker.js:100:12)
at Object.broadcastEventAroundUserFunction ($HOME/node_modules/grunt-cucumber/node_modules/cucumber/lib/cucumber/runtime/ast_tree_walker.js:84:12)
at Object.visitStep ($HOME/node_modules/grunt-cucumber/node_modules/cucumber/lib/cucumber/runtime/ast_tree_walker.js:63:12)
at $HOME/node_modules/grunt-cucumber/node_modules/cucumber/lib/cucumber/ast/scenario.js:95:17
at processItem ($HOME/node_modules/grunt-cucumber/node_modules/cucumber/lib/cucumber/type/collection.js:19:9)
at iterate ($HOME/node_modules/grunt-cucumber/node_modules/cucumber/lib/cucumber/type/collection.js:12:11)
at $HOME/node_modules/grunt-cucumber/node_modules/cucumber/lib/cucumber/type/collection.js:20:11
at iterate ($HOME/node_modules/grunt-cucumber/node_modules/cucumber/lib/cucumber/type/collection.js:14:11)
at Object.forEach ($HOME/node_modules/grunt-cucumber/node_modules/cucumber/lib/cucumber/type/collection.js:23:7)
at broadcastToListeners ($HOME/node_modules/grunt-cucumber/node_modules/cucumber/lib/cucumber/runtime/ast_tree_walker.js:117:19)
at onRuntimeListenersComplete ($HOME/node_modules/grunt-cucumber/node_modules/cucumber/lib/cucumber/runtime/ast_tree_walker.js:113:9)
at iterate ($HOME/node_modules/grunt-cucumber/node_modules/cucumber/lib/cucumber/type/collection.js:14:11)
at $HOME/node_modules/grunt-cucumber/node_modules/cucumber/lib/cucumber/type/collection.js:20:11
at hear ($HOME/node_modules/grunt-cucumber/node_modules/cucumber/lib/cucumber/listener.js:8:9)
at $HOME/node_modules/grunt-cucumber/node_modules/cucumber/lib/cucumber/listener/summary_formatter.js:16:7
at Object.hear ($HOME/node_modules/grunt-cucumber/node_modules/cucumber/lib/cucumber/listener.js:8:9)
at Object.hear ($HOME/node_modules/grunt-cucumber/node_modules/cucumber/lib/cucumber/listener/summary_formatter.js:15:18)
at $HOME/node_modules/grunt-cucumber/node_modules/cucumber/lib/cucumber/runtime/ast_tree_walker.js:118:51
at processItem ($HOME/node_modules/grunt-cucumber/node_modules/cucumber/lib/cucumber/type/collection.js:19:9)
at iterate ($HOME/node_modules/grunt-cucumber/node_modules/cucumber/lib/cucumber/type/collection.js:12:11)
at Object.forEach ($HOME/node_modules/grunt-cucumber/node_modules/cucumber/lib/cucumber/type/collection.js:23:7)
at broadcastToListeners ($HOME/node_modules/grunt-cucumber/node_modules/cucumber/lib/cucumber/runtime/ast_tree_walker.js:117:19)
at Object.broadcastEvent ($HOME/node_modules/grunt-cucumber/node_modules/cucumber/lib/cucumber/runtime/ast_tree_walker.js:109:7)
at Object.broadcastAfterEvent ($HOME/node_modules/grunt-cucumber/node_modules/cucumber/lib/cucumber/runtime/ast_tree_walker.js:105:12)
at $HOME/node_modules/grunt-cucumber/node_modules/cucumber/lib/cucumber/runtime/ast_tree_walker.js:95:32
at iterate ($HOME/node_modules/grunt-cucumber/node_modules/cucumber/lib/cucumber/type/collection.js:14:11)
at Object.forEach ($HOME/node_modules/grunt-cucumber/node_modules/cucumber/lib/cucumber/type/collection.js:23:7)
at broadcastToListeners ($HOME/node_modules/grunt-cucumber/node_modules/cucumber/lib/cucumber/runtime/ast_tree_walker.js:117:19)
at onRuntimeListenersComplete ($HOME/node_modules/grunt-cucumber/node_modules/cucumber/lib/cucumber/runtime/ast_tree_walker.js:113:9)
at iterate ($HOME/node_modules/grunt-cucumber/node_modules/cucumber/lib/cucumber/type/collection.js:14:11)
at $HOME/node_modules/grunt-cucumber/node_modules/cucumber/lib/cucumber/type/collection.js:20:11
at handleStepResult ($HOME/node_modules/grunt-cucumber/node_modules/cucumber/lib/cucumber/listener/summary_formatter.js:27:5)
at hear ($HOME/node_modules/grunt-cucumber/node_modules/cucumber/lib/cucumber/listener.js:6:9)
at $HOME/node_modules/grunt-cucumber/node_modules/cucumber/lib/cucumber/listener/summary_formatter.js:16:7
at handleStepResult ($HOME/node_modules/grunt-cucumber/node_modules/cucumber/lib/cucumber/listener/stats_journal.js:39:5)
at Object.hear ($HOME/node_modules/grunt-cucumber/node_modules/cucumber/lib/cucumber/listener.js:6:9)
at Object.hear ($HOME/node_modules/grunt-cucumber/node_modules/cucumber/lib/cucumber/listener/summary_formatter.js:15:18)
at $HOME/node_modules/grunt-cucumber/node_modules/cucumber/lib/cucumber/runtime/ast_tree_walker.js:118:51
at processItem ($HOME/node_modules/grunt-cucumber/node_modules/cucumber/lib/cucumber/type/collection.js:19:9)
at iterate ($HOME/node_modules/grunt-cucumber/node_modules/cucumber/lib/cucumber/type/collection.js:12:11)
at Object.forEach ($HOME/node_modules/grunt-cucumber/node_modules/cucumber/lib/cucumber/type/collection.js:23:7)
at broadcastToListeners ($HOME/node_modules/grunt-cucumber/node_modules/cucumber/lib/cucumber/runtime/ast_tree_walker.js:117:19)
at Object.broadcastEvent ($HOME/node_modules/grunt-cucumber/node_modules/cucumber/lib/cucumber/runtime/ast_tree_walker.js:109:7)
at Object.visitStepResult ($HOME/node_modules/grunt-cucumber/node_modules/cucumber/lib/cucumber/runtime/ast_tree_walker.js:79:12)
at $HOME/node_modules/grunt-cucumber/node_modules/cucumber/lib/cucumber/ast/step.js:150:17
at codeCallback ($HOME/node_modules/grunt-cucumber/node_modules/cucumber/lib/cucumber/support_code/step_definition.js:61:11)
at World.<anonymous> ($HOME/features/step_definitions/delete-item.steps.js:16:3)
at Object.invoke ($HOME/node_modules/grunt-cucumber/node_modules/cucumber/lib/cucumber/support_code/step_definition.js:84:14)
at Object.execute ($HOME/node_modules/grunt-cucumber/node_modules/cucumber/lib/cucumber/ast/step.js:157:22)
at Object.acceptVisitor ($HOME/node_modules/grunt-cucumber/node_modules/cucumber/lib/cucumber/ast/step.js:149:12)
at Object.executeStep ($HOME/node_modules/grunt-cucumber/node_modules/cucumber/lib/cucumber/runtime/ast_tree_walker.js:178:12)
at Object.processStep ($HOME/node_modules/grunt-cucumber/node_modules/cucumber/lib/cucumber/runtime/ast_tree_walker.js:173:14)
at $HOME/node_modules/grunt-cucumber/node_modules/cucumber/lib/cucumber/runtime/ast_tree_walker.js:66:16
at callUserFunctionAndBroadcastAfterEvent ($HOME/node_modules/grunt-cucumber/node_modules/cucumber/lib/cucumber/runtime/ast_tree_walker.js:90:9)
at iterate ($HOME/node_modules/grunt-cucumber/node_modules/cucumber/lib/cucumber/type/collection.js:14:11)
at Object.forEach ($HOME/node_modules/grunt-cucumber/node_modules/cucumber/lib/cucumber/type/collection.js:23:7)
at broadcastToListeners ($HOME/node_modules/grunt-cucumber/node_modules/cucumber/lib/cucumber/runtime/ast_tree_walker.js:117:19)
at onRuntimeListenersComplete ($HOME/node_modules/grunt-cucumber/node_modules/cucumber/lib/cucumber/runtime/ast_tree_walker.js:113:9)
at iterate ($HOME/node_modules/grunt-cucumber/node_modules/cucumber/lib/cucumber/type/collection.js:14:11)
at $HOME/node_modules/grunt-cucumber/node_modules/cucumber/lib/cucumber/type/collection.js:20:11
at hear ($HOME/node_modules/grunt-cucumber/node_modules/cucumber/lib/cucumber/listener.js:8:9)
at $HOME/node_modules/grunt-cucumber/node_modules/cucumber/lib/cucumber/listener/summary_formatter.js:16:7
at Object.hear ($HOME/node_modules/grunt-cucumber/node_modules/cucumber/lib/cucumber/listener.js:8:9)
at Object.hear ($HOME/node_modules/grunt-cucumber/node_modules/cucumber/lib/cucumber/listener/summary_formatter.js:15:18)
at $HOME/node_modules/grunt-cucumber/node_modules/cucumber/lib/cucumber/runtime/ast_tree_walker.js:118:51
at processItem ($HOME/node_modules/grunt-cucumber/node_modules/cucumber/lib/cucumber/type/collection.js:19:9)
at iterate ($HOME/node_modules/grunt-cucumber/node_modules/cucumber/lib/cucumber/type/collection.js:12:11)
at Object.forEach ($HOME/node_modules/grunt-cucumber/node_modules/cucumber/lib/cucumber/type/collection.js:23:7)
at broadcastToListeners ($HOME/node_modules/grunt-cucumber/node_modules/cucumber/lib/cucumber/runtime/ast_tree_walker.js:117:19)
at Object.broadcastEvent ($HOME/node_modules/grunt-cucumber/node_modules/cucumber/lib/cucumber/runtime/ast_tree_walker.js:109:7)
at Object.broadcastBeforeEvent ($HOME/node_modules/grunt-cucumber/node_modules/cucumber/lib/cucumber/runtime/ast_tree_walker.js:100:12)
at Object.broadcastEventAroundUserFunction ($HOME/node_modules/grunt-cucumber/node_modules/cucumber/lib/cucumber/runtime/ast_tree_walker.js:84:12)
at Object.visitStep ($HOME/node_modules/grunt-cucumber/node_modules/cucumber/lib/cucumber/runtime/ast_tree_walker.js:63:12)
at $HOME/node_modules/grunt-cucumber/node_modules/cucumber/lib/cucumber/ast/scenario.js:95:17
at processItem ($HOME/node_modules/grunt-cucumber/node_modules/cucumber/lib/cucumber/type/collection.js:19:9)
at iterate ($HOME/node_modules/grunt-cucumber/node_modules/cucumber/lib/cucumber/type/collection.js:12:11)
at Object.forEach ($HOME/node_modules/grunt-cucumber/node_modules/cucumber/lib/cucumber/type/collection.js:23:7)
at Object.instructVisitorToVisitSteps ($HOME/node_modules/grunt-cucumber/node_modules/cucumber/lib/cucumber/ast/scenario.js:94:13)
at Object.instructVisitorToVisitScenarioSteps ($HOME/node_modules/grunt-cucumber/node_modules/cucumber/lib/cucumber/ast/scenario.js:90:12)
at $HOME/node_modules/grunt-cucumber/node_modules/cucumber/lib/cucumber/ast/scenario.js:75:14
at Object.instructVisitorToVisitBackgroundSteps ($HOME/node_modules/grunt-cucumber/node_modules/cucumber/lib/cucumber/ast/scenario.js:85:9)
at Object.acceptVisitor ($HOME/node_modules/grunt-cucumber/node_modules/cucumber/lib/cucumber/ast/scenario.js:74:12)
at $HOME/node_modules/grunt-cucumber/node_modules/cucumber/lib/cucumber/runtime/ast_tree_walker.js:48:41
at callUserFunction ($HOME/node_modules/grunt-cucumber/node_modules/cucumber/lib/cucumber/support_code/library/hooker.js:41:11)
at iterate ($HOME/node_modules/grunt-cucumber/node_modules/cucumber/lib/cucumber/type/collection.js:14:11)
at Object.forEach ($HOME/node_modules/grunt-cucumber/node_modules/cucumber/lib/cucumber/type/collection.js:23:7)
at Object.triggerBeforeHooks ($HOME/node_modules/grunt-cucumber/node_modules/cucumber/lib/cucumber/support_code/library/hooker.js:63:19)
at callBeforeHooks ($HOME/node_modules/grunt-cucumber/node_modules/cucumber/lib/cucumber/support_code/library/hooker.js:37:16)
at iterate ($HOME/node_modules/grunt-cucumber/node_modules/cucumber/lib/cucumber/type/collection.js:14:11)
at Object.forEach ($HOME/node_modules/grunt-cucumber/node_modules/cucumber/lib/cucumber/type/collection.js:23:7)
at hookedUpFunction ($HOME/node_modules/grunt-cucumber/node_modules/cucumber/lib/cucumber/support_code/library/hooker.js:27:21)
at callUserFunctionAndBroadcastAfterEvent ($HOME/node_modules/grunt-cucumber/node_modules/cucumber/lib/cucumber/runtime/ast_tree_walker.js:90:9)
at iterate ($HOME/node_modules/grunt-cucumber/node_modules/cucumber/lib/cucumber/type/collection.js:14:11)
at Object.forEach ($HOME/node_modules/grunt-cucumber/node_modules/cucumber/lib/cucumber/type/collection.js:23:7)
at broadcastToListeners ($HOME/node_modules/grunt-cucumber/node_modules/cucumber/lib/cucumber/runtime/ast_tree_walker.js:117:19)
at onRuntimeListenersComplete ($HOME/node_modules/grunt-cucumber/node_modules/cucumber/lib/cucumber/runtime/ast_tree_walker.js:113:9)
at iterate ($HOME/node_modules/grunt-cucumber/node_modules/cucumber/lib/cucumber/type/collection.js:14:11)
at $HOME/node_modules/grunt-cucumber/node_modules/cucumber/lib/cucumber/type/collection.js:20:11
at hear ($HOME/node_modules/grunt-cucumber/node_modules/cucumber/lib/cucumber/listener.js:8:9)
at $HOME/node_modules/grunt-cucumber/node_modules/cucumber/lib/cucumber/listener/summary_formatter.js:16:7
at handleBeforeScenarioEvent ($HOME/node_modules/grunt-cucumber/node_modules/cucumber/lib/cucumber/listener/stats_journal.js:24:5)
at Object.hear ($HOME/node_modules/grunt-cucumber/node_modules/cucumber/lib/cucumber/listener.js:6:9)
at Object.hear ($HOME/node_modules/grunt-cucumber/node_modules/cucumber/lib/cucumber/listener/summary_formatter.js:15:18)
at $HOME/node_modules/grunt-cucumber/node_modules/cucumber/lib/cucumber/runtime/ast_tree_walker.js:118:51
at processItem ($HOME/node_modules/grunt-cucumber/node_modules/cucumber/lib/cucumber/type/collection.js:19:9)
at iterate ($HOME/node_modules/grunt-cucumber/node_modules/cucumber/lib/cucumber/type/collection.js:12:11)
at Object.forEach ($HOME/node_modules/grunt-cucumber/node_modules/cucumber/lib/cucumber/type/collection.js:23:7)
at broadcastToListeners ($HOME/node_modules/grunt-cucumber/node_modules/cucumber/lib/cucumber/runtime/ast_tree_walker.js:117:19)
at Object.broadcastEvent ($HOME/node_modules/grunt-cucumber/node_modules/cucumber/lib/cucumber/runtime/ast_tree_walker.js:109:7)
at Object.broadcastBeforeEvent ($HOME/node_modules/grunt-cucumber/node_modules/cucumber/lib/cucumber/runtime/ast_tree_walker.js:100:12)
at Object.broadcastEventAroundUserFunction ($HOME/node_modules/grunt-cucumber/node_modules/cucumber/lib/cucumber/runtime/ast_tree_walker.js:84:12)
at $HOME/node_modules/grunt-cucumber/node_modules/cucumber/lib/cucumber/runtime/ast_tree_walker.js:52:14
at $HOME/node_modules/grunt-cucumber/node_modules/cucumber/lib/cucumber/support_code/library.js:71:11
at process._tickCallback (node.js:419:13)
at Function.Module.runMain (module.js:499:11)
at startup (node.js:119:16)
at node.js:906:3
만 : 예를 들어, 여기에 모듈의 기본 누락 된 방법에서 전체 스택 추적의
Failing scenarios:
$HOME/features/delete-item.feature:6 # Scenario: Item removed from portfolio
$HOME/features/delete-item.feature:11 # Scenario: Item not accessible from portfolio
4 scenarios (2 failed, 2 passed)
12 steps (2 failed, 2 skipped, 8 passed)
정말, 유일한 대부분의 경우 내가 신경 쓰는 것은 처음 네 줄입니다.
TypeError: Object #<Object> has no method 'delete'
at World.<anonymous> ($HOME/features/step_definitions/delete-item.steps.js:20:21)
at Object.invoke ($HOME/node_modules/grunt-cucumber/node_modules/cucumber/lib/cucumber/support_code/step_definition.js:84:14)
at Object.execute ($HOME/node_modules/grunt-cucumber/node_modules/cucumber/lib/cucumber/ast/step.js:157:22)
아이디어가 있으십니까?
나와 함께하는 경우가 많기 때문에 나는 다른 것으로 옮겼습니다. 그러나 시간을내어 주셔서 감사합니다. 내가 요청한 것을 할 것이라는 관점에서 대답으로 받아들이 겠지만, 나는 그것을 시도하지 않았다고 고백한다. 어쩌면 누군가가 필요/미래에 확인할 수 있습니다 ... – GMeister