我正在尝试使用Jasmine-Jquery进行UI测试。我将业力用作测试跑者和茉莉作为测试框架。我认为我已经成功地加载了固定装置,并且茉莉 - 杰克(Jasmine-Jquery)被列为我的业力配置中的测试框架。
但是,我无法使用Jasmine-Jquery在DOM中找到一个元素。为什么?
目录结构
base
spec
javascripts
fixtures
myfixture.html
karma.conf.js
tests
settingUpHTMLFixtures.test.js
myfixture.html
<div id="my-fixture">foo bar</div>
设置uphtmlfixtures.test.js
jasmine.getFixtures().fixturesPath = 'base/spec/javascripts/fixtures';
loadFixtures('myfixture.html');
describe('testing out jasmine-jquery', function(){
it('can find an element in the dom using jasmine-jquery', function(){
expect($j('#my-fixture')).toBeInDOM();
})
})
karma.conf.js
const webpackConfig = require('./webpack.config.js');
module.exports = function(config) {
config.set({
basePath: "",
files: ["tests/**/*.test.js", 'spec/javascripts/fixtures/*.html'],
frameworks: ['jasmine-jquery', 'jasmine', 'jasmine-matchers'],
preprocessors: {
"tests/**/*.test.js": ["webpack"]
},
webpack: webpackConfig,
plugins : [
'karma-chrome-launcher',
'karma-jasmine',
'karma-jasmine-jquery',
'karma-jasmine-matchers',
'karma-webpack',
'karma-jasmine-html-reporter'
],
logLevel: config.LOG_INFO,
reporters: ['kjhtml'],
port: 9876,
browsers: ["Chrome"],
//...
});
};
目前我只是收到测试失败的信息,那就是 testing out jasmine-jquery can find an element in the dom using jasmine-jquery FAILED
Expected jQuery({ context: HTMLNode, selector: '#my-fixture' }) to be in d o m.
at UserContext.<anonymous> (tests/settingUpHTMLFixtures.test.js:78:31)"
我有一个路径错误。我自己创建基本目录是一个错误。业力只是为基本目录中的所有内容提供服务。
我唯一需要使用该单词base的时间是设置固定路径时(如我的设置Unsentuphtmlfixtures.test.js代码所示)