我正在使用业力茉莉花
jquery jasmine-jquery
我有几个纯js单元测试,现在是时候继续编写一些html依赖测试.
我尝试了jasmine-jquery及其loadFixtures,但无论我尝试什么,我仍然会收到错误而没有任何有用的消息.
我有几个纯js单元测试,现在是时候继续编写一些html依赖测试.
我尝试了jasmine-jquery及其loadFixtures,但无论我尝试什么,我仍然会收到错误而没有任何有用的消息.
我创建了一个简单的项目来单独测试事物,这是我的设置:
. ├── karma.conf.js ├── package.json ├── spec │ └── javascripts │ └── fixtures │ └── simple.test.html └── src └── test └── js └── simple.test.js
的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" } }
规格/ Java脚本/夹具/ simple.test.html
<body> Test </body>
的src /测试/ JS / simple.test.js
describe('simple',function () { beforeEach(function () { loadFixtures('simple.test.html'); }); it('test',function () { expect(true).toBeTruthy(); }); });
我收到了这个错误
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
有帮助吗?
解决方法
需要在karma.conf.js的文件列表中定义灯具. Karma提供/ base目录下的文件:
http://karma-runner.github.io/0.8/plus/RequireJS.html.
http://karma-runner.github.io/0.8/plus/RequireJS.html.
我按照你的方式设置了项目,在karma.conf.js中定义了fixture,我可以通过Karma启动的浏览器手动访问夹具:
http://localhost:9876/base/spec/javascripts/fixtures/simple.test.html.
需要在Jasmine中设置默认灯具路径:
jasmine.getFixtures().fixturesPath = 'base/spec/javascripts/fixtures'; loadFixtures('simple.test.html');