我花了相當多的時間來嘗試調試這個,我想問問。我甚至創建了一個GitHub repository,但不會依賴它,所以在這裏。我試圖在PhamaomJS的Karma測試運行器中利用CommonJS語法。對於我的模塊,我創建我能想到的最簡單的事情:正確使用karma-commonjs與Jasmine 2
exports.returnYes = function() {
return "Yes";
};
茉莉花測試:
var returnYes = require("../js/returnYes").returnYes;
describe("returnYes", function() {
it("should return Yes", function() {
expect(returnYes()).toBe("Yes");
});
});
而且,如果我做一個jasmine init
我可以在命令行拜jasmine-npm
運行通過簡單地輸出輸入jasmine
:
$ jasmine
Started
.
1 spec, 0 failures
Finished in 0.003 seconds
我們試圖讓它裏面因緣工作: 創建我karma.conf.js與框架:jasmine
,commonjs
。而且,我添加了commonjs
作爲預處理器。
我嘗試做一個karma run
,我發現它無法找到global
這是jasmine.js的getJasmineRequireObj
部分地方宣佈jasmineGlobal = global;
命令行輸出是有點難以閱讀,但在這裏它是:
$ karma run
[2015-06-27 17:41:35.266] [DEBUG] config - Loading config /Users/zen/Projects/karma-commonjs-test/karma.conf.js
##teamcity[enteredTheMatrix]
##teamcity[testSuiteStarted nodeId='1' parentNodeId='0' name='karma.conf.js' nodeType='config' locationHint='config:///Users/zen/Projects/karma-commonjs-test/karma.conf.js']
##teamcity[testSuiteStarted nodeId='2' parentNodeId='1' name='PhantomJS 1.9.8 (Mac OS X 0.0.0)' nodeType='browser']
##teamcity[testStarted nodeId='3' parentNodeId='2' name='Error' nodeType='browserError']
##teamcity[testFailed nodeId='3' error='yes' message='ReferenceError: Can|'t find variable: global|nat http://localhost:9876/base/node_modules/jasmine-core/lib/jasmine-core/jasmine.js?68f13ab3f93af5a219b9fe8409f8763b31998bba:27']
##teamcity[testSuiteFinished nodeId='2']
##teamcity[testSuiteFinished nodeId='1']
良好的措施在這裏是我的packages.json devDependencies:
"devDependencies": {
"jasmine-core": "^2.3.4",
"karma": "^0.12.37",
"karma-commonjs": "0.0.13",
"karma-jasmine": "^0.3.5",
"karma-phantomjs-launcher": "^0.2.0",
"phantomjs": "^1.9.17"
}
我不知道爲什麼我找不到global
。任何幫助將不勝感激!!! :)