2017-08-27 78 views
0

我有一個AngularJS 1.5.11應用程序,其中RequireJS 2.2.0在任何地方都被使用。單元測試是必需的。我甚至無法執行虛擬測試。請指教。Karma執行的零測試(AngularJS,RequireJS)

錯誤:

PhantomJS 2.1.1 (Linux 0.0.0): Executed 0 of 0 ERROR (0.044 secs/0 secs)

詳細的調試水平輸出從karma start --browsers PhantomJS_custom --log-level debug命令:https://gist.github.com/sergibondarenko/1120d211aa2265b76669cd831495a6c1

測試: 應用程序/控制器/ __測試__/loginController.spec.js

define('loginController', [], function() { 
    describe('loginController', function() { 
    it('dymmy test', function() { 
     expect(true).toBe(false); 
    }); 
    }); 
}); 

Karma配置:https://gist.github.com/sergibondarenko/4b305341faa24883cb90e6f8f7490d74

試驗主要:https://gist.github.com/sergibondarenko/6aa25bf71bfadf39883a59d7cda57a65

開發的依賴關係:

:~/dev/qxip/hepic$ grep -rn devD package.json -A 9 
20: "devDependencies": { 
21- "jasmine": "^2.8.0", 
22- "jasmine-core": "^2.4.1", 
23- "karma": "^0.13.22", 
24- "karma-browserify": "^5.1.1", 
25- "karma-jasmine": "^0.3.8", 
26- "karma-phantomjs-launcher": "^1.0.4", 
27- "protractor": "^4.0.9", 
28- "watchify": "^3.9.0" 
29- }, 

該應用程序結構如下。一些庫位於node_modules,其他庫位於lib文件夾中。

u[email protected]:~/dev$ tree -L 1 theapp 
theapp 
├── app 
├── css 
├── font-awesome 
├── fonts 
├── img 
├── index.html 
├── karma.conf.js 
├── lang 
├── lib 
├── node_modules 
├── package.json 
├── README.md 
├── resources 
├── scripts 
├── share 
├── templates 
├── test-main.js 
├── tests 
└── widgets 

如果您需要更多信息,請告訴我。

+0

你在哪裏運行你的測試?另外,你能列出test-main.js的完整路徑,而不僅僅是karma.conf.js中的文件名嗎? – 82Tuskers

+0

@ 82Tuskers我運行命令'karma start --browsers PhantomJS_custom --log-level debug'從我的app根文件夾 - 「〜/ dev/theapp'。 test-main.js的完整路徑是'〜/ dev/theapp/test-main.js',請看上面的應用程序結構。 – trex

+0

你可以在名爲test的app下添加一個文件夾嗎?即'/ app/test /',然後將你的測試文件添加爲'test-file.spec.js'。讓我知道這是否有效。 – 82Tuskers

回答

0

在你karma.conf.js一套這樣的:

browsers: ['PhantomJS', 'PhantomJS_custom'], 

    // you can define custom flags 
    customLaunchers: { 
     'PhantomJS_custom': { 
     base: 'PhantomJS', 
     options: { 
      windowName: 'my-window', 
      settings: { 
      webSecurityEnabled: false 
      }, 
     }, 
     flags: ['--load-images=true'], 
     debug: true 
     } 
    }, 

    phantomjsLauncher: { 
     // Have phantomjs exit if a ResourceError is encountered (useful if karma exits without killing phantom) 
     exitOnResourceError: true 
    } 

然後假設你有你的karma.conf.js文件中的根,同樣的水平,你的app子文件夾,你的test-main.js是,通過執行你的測試:

karma start karma.conf.js 
+0

但我已經有這部分,看看上面的第二個要點https://gist.github.com/sergibondarenko/4b305341faa24883cb90e6f8f7490d74#file-karma-conf-js-L60 – trex

+0

那麼你的文件結構呢?是否如解釋的那樣? – quirimmo

+0

是的,正確的,正如解釋 – trex

相關問題