2017-08-16 26 views
2

我有一個Ionic2項目,基於clicker存儲庫的單元測試設置。 我嘗試在組件中使用浮動操作按鈕,但運行單元測試時會引發異常。我在簡單的點擊應用程序中添加了FAB來演示錯誤。它被添加到page2.html中,您可以在fab-error branch中找到它。如何在Ionic2中測試浮動操作按鈕

運行測試時,日誌看起來像這樣。

> [email protected] test /Users/rkause/test/clicker 
> ng test 

10% building modules 1/1 modules 0 active16 08 2017 12:15:52.892:WARN [karma]: No captured browser, open http://localhost:9876/ 
16 08 2017 12:15:52.902:INFO [karma]: Karma v1.7.0 server started at http://0.0.0.0:9876/ 
16 08 2017 12:15:52.902:INFO [launcher]: Launching browser ChromeNoSandbox with unlimited concurrency 
16 08 2017 12:15:52.915:INFO [launcher]: Starting browser Chrome 

WARNING in ./~/ionic-angular/util/ng-module-loader.js 
54:11-36 Critical dependency: the request of a dependency is an expression 

WARNING in ./~/ionic-angular/util/ng-module-loader.js 
69:11-36 Critical dependency: the request of a dependency is an expression 
16 08 2017 12:16:02.325:WARN [karma]: No captured browser, open http://localhost:9876/ 
16 08 2017 12:16:02.541:INFO [Chrome 60.0.3112 (Mac OS X 10.11.6)]: Connected on socket djJaMpA7zKcR5c3jAAAA with id 17408513 
Chrome 60.0.3112 (Mac OS X 10.11.6) Pages: Page2 should create page2 FAILED 
    TypeError: unRegEvent is not a function 
     at http://localhost:9876/_karma_webpack_/vendor.bundle.js:41527:13 
     at Array.forEach (<anonymous>) 
     at UIEventManager.webpackJsonp.../../../../ionic-angular/gestures/ui-event-manager.js.UIEventManager.unlistenAll (http://localhost:9876/_karma_webpack_/vendor.bundle.js:41526:19) 
     at UIEventManager.webpackJsonp.../../../../ionic-angular/gestures/ui-event-manager.js.UIEventManager.destroy (http://localhost:9876/_karma_webpack_/vendor.bundle.js:41535:14) 
     at FabContainer.webpackJsonp.../../../../ionic-angular/components/fab/fab-container.js.FabContainer.ngOnDestroy (http://localhost:9876/_karma_webpack_/vendor.bundle.js:9287:22) 
     at callProviderLifecycles (http://localhost:9876/_karma_webpack_/vendor.bundle.js:120688:18) 
     at callElementProvidersLifecycles (http://localhost:9876/_karma_webpack_/vendor.bundle.js:120657:13) 
     at callLifecycleHooksChildrenFirst (http://localhost:9876/_karma_webpack_/vendor.bundle.js:120641:17) 
     at destroyView (http://localhost:9876/_karma_webpack_/vendor.bundle.js:121902:5) 
     at callViewAction (http://localhost:9876/_karma_webpack_/vendor.bundle.js:122048:13) 
Chrome 60.0.3112 (Mac OS X 10.11.6): Executed 14 of 30 (1 FAILED) (0 secs/2.319 secs) 
Chrome 60.0.3112 (Mac OS X 10.11.6) Pages: Page2 should create page2 FAILED 
    TypeError: unRegEvent is not a function 
     at http://localhost:9876/_karma_webpack_/vendor.bundle.js:41527:13 
     at Array.forEach (<anonymous>) 
     at UIEventManager.webpackJsonp.../../../../ionic-angular/gestures/ui-event-manager.js.UIEventManager.unlistenAll (http://localhost:9876/_karma_webpack_/vendor.bundle.js:41526:19) 
     at UIEventManager.webpackJsonp.../../../../ionic-angular/gestures/ui-event-manager.js.UIEventManager.destroy (http://localhost:9876/_karma_webpack_/vendor.bundle.js:41535:14) 
     at FabContainer.webpackJsonp.../../../../ionic-angular/components/fab/fab-container.js.FabContainer.ngOnDestroy (http://localhost:9876/_karma_webpack_/vendor.bundle.js:9287:22) 
     at callProviderLifecycles (http://localhost:9876/_karma_webpack_/vendor.bundle.js:120688:18) 
     at callElementProvidersLifecycles (http://localhost:9876/_karma_webpack_/vendor.bundle.js:120657:13) 
     at callLifecycleHooksChildrenFirst (http://localhost:9876/_karma_webpack_/vendor.bundle.js:120641:17) 
     at destroyView (http://localhost:9876/_karma_webpack_/vendor.bundle.js:121902:5) 
ERROR: 'Error during cleanup of component', Page2{title: 'Page 2', OK: function() { ... }, alertController: Object{create: function() { ... }}} 

我試着手動添加組件,嘲笑各種服務,但無法弄清楚導致此行爲的原因。

回答