Mar*_*cak 7 jasmine jasmine-jquery karma-jasmine
我正在使用karma + jasmine + jquery + jasmine-jquery我有几个纯js单元测试,现在是时候继续编写一些html依赖测试了.我尝试了jasmine-jquery及其loadFixtures,但无论我尝试什么,我仍然会收到错误而没有任何有用的消息.
我创建了一个简单的项目来隔离测试事物,这是我的设置:
.
??? karma.conf.js
??? package.json
??? spec
? ??? javascripts
? ??? fixtures
? ??? simple.test.html
??? src
??? test
??? js
??? simple.test.js
Run Code Online (Sandbox Code Playgroud)
的package.json
{
"dependencies": {
"karma": "0.12.31",
"jasmine": "2.1.1",
"karma-jasmine": "0.3.5",
"jasmine-jquery": "2.0.6",
"karma-jasmine-jquery": "0.1.1",
"karma-teamcity-reporter": "0.1.2"
},
"devDependencies": {
"karma-chrome-launcher": "~0.1.7",
"karma-firefox-launcher": "~0.1.4"
}
}
Run Code Online (Sandbox Code Playgroud)
规格/ Java脚本/夹具/ simple.test.html
<body>
Test
</body>
Run Code Online (Sandbox Code Playgroud)
的src /测试/ JS/simple.test.js
describe('simple', function () {
beforeEach(function () {
loadFixtures('simple.test.html');
});
it('test', function () {
expect(true).toBeTruthy();
});
});
Run Code Online (Sandbox Code Playgroud)
我收到了这个错误
Chrome 27.0.1453 (Linux) simple test FAILED
Error: Fixture could not be loaded: spec/javascripts/fixtures/simple.test.html (status: error, message: undefined)
at Object.<anonymous> (/tmp/zkurv/node_modules/karma-jasmine-jquery/lib/jasmine-jquery.js:133:17)
at fire (/tmp/zkurv/node_modules/karma-jasmine-jquery/lib/jqueryForJasmineJqueryPlugin.js:3094:30)
at Object.self.add (/tmp/zkurv/node_modules/karma-jasmine-jquery/lib/jqueryForJasmineJqueryPlugin.js:3140:7)
at jasmine.Fixtures.loadFixtureIntoCache_ (/tmp/zkurv/node_modules/karma-jasmine-jquery/lib/jasmine-jquery.js:132:10)
at jasmine.Fixtures.getFixtureHtml_ (/tmp/zkurv/node_modules/karma-jasmine-jquery/lib/jasmine-jquery.js:115:12)
at jasmine.Fixtures.read (/tmp/zkurv/node_modules/karma-jasmine-jquery/lib/jasmine-jquery.js:77:28)
at jasmine.Fixtures.load (/tmp/zkurv/node_modules/karma-jasmine-jquery/lib/jasmine-jquery.js:65:37)
at jasmine.Fixtures.proxyCallTo_ (/tmp/zkurv/node_modules/karma-jasmine-jquery/lib/jasmine-jquery.js:161:29)
at window.loadFixtures (/tmp/zkurv/node_modules/karma-jasmine-jquery/lib/jasmine-jquery.js:765:27)
Firefox 24.0.0 (Linux) simple test FAILED
Error: Fixture could not be loaded: spec/javascripts/fixtures/simple.test.html (status: error, message: undefined) in /tmp/zkurv/node_modules/karma-jasmine-jquery/lib/jasmine-jquery.js (line 133)
jasmine.Fixtures.prototype.loadFixtureIntoCache_/request<@/tmp/zkurv/node_modules/karma-jasmine-jquery/lib/jasmine-jquery.js:133
jQuery.Callbacks/fire@/tmp/zkurv/node_modules/karma-jasmine-jquery/lib/jqueryForJasmineJqueryPlugin.js:3094
jQuery.Callbacks/self.add@/tmp/zkurv/node_modules/karma-jasmine-jquery/lib/jqueryForJasmineJqueryPlugin.js:3140
jasmine.Fixtures.prototype.loadFixtureIntoCache_@/tmp/zkurv/node_modules/karma-jasmine-jquery/lib/jasmine-jquery.js:132
jasmine.Fixtures.prototype.getFixtureHtml_@/tmp/zkurv/node_modules/karma-jasmine-jquery/lib/jasmine-jquery.js:115
jasmine.Fixtures.prototype.read@/tmp/zkurv/node_modules/karma-jasmine-jquery/lib/jasmine-jquery.js:77
jasmine.Fixtures.prototype.load@/tmp/zkurv/node_modules/karma-jasmine-jquery/lib/jasmine-jquery.js:65
jasmine.Fixtures.prototype.proxyCallTo_@/tmp/zkurv/node_modules/karma-jasmine-jquery/lib/jasmine-jquery.js:161
window.loadFixtures@/tmp/zkurv/node_modules/karma-jasmine-jquery/lib/jasmine-jquery.js:765
@/tmp/zkurv/src/test/js/simple.test.js:3
Run Code Online (Sandbox Code Playgroud)
有帮助吗?
小智 13
需要在karma.conf.js的文件列表中定义灯具.Karma提供/ base目录下的文件:http: //karma-runner.github.io/0.8/plus/RequireJS.html.
我按照你的方式设置项目,在karma.conf.js中定义了fixture,我可以通过Karma启动的浏览器手动访问fixture: http:// localhost:9876/base/spec/javascripts/fixtures/simple. test.html.
需要在Jasmine中设置默认的灯具路径:
jasmine.getFixtures().fixturesPath = 'base/spec/javascripts/fixtures';
loadFixtures('simple.test.html');
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5625 次 |
| 最近记录: |