Вот спецификации я бегужасмин триггером щелчок мыши не работает на <a>
describe("Test", function() {
beforeEach(function(){
loadFixtures('modal.html');
});
it ("click a tag", function(){
var spy = spyOnEvent($('.modal-link'), 'click');
$('.modal-link').trigger('click');
expect('click').toHaveBeenTriggeredOn($('.modal-link'));
expect(spy).toHaveBeenTriggered();
});
});
Внутри светильника (modal.html), это выглядит так
<a class="modal-link">Test Link</a>
Тест терпит неудачу с этим ошибка:
Expected event [object Object] to have been triggered on [object Object]at Object.<anonymous>
Expected event click to have been triggered on [object Object] at Object.<anonymous>
Но когда я заменяю тег на div, span или p, тест проходит.
<div class="modal-link">Test Link</div>
Есть ли причина, по которой тег не может быть нажат в моем тесте?
правка 19/04: Я использую Карма запустить тест, вот конфигурационный файл
module.exports = function(config) {
config.set({
frameworks: ['jquery-1.11.0', 'jasmine-jquery', 'jasmine'],
reporters: ['mocha'],
browsers: ['PhantomJS'],
plugins: [
// Karma will require() these plugins
'karma-jasmine',
'karma-jasmine-jquery',
'karma-jquery',
'karma-phantomjs-launcher',
'karma-mocha-reporter'
],
preprocessors: {
'test/spec/**/*.html': ['html2js']
},
autoWatch: true,
files: [
{pattern: 'app/libs/jquery.min.js', watched: true, included: true, served: true},
{pattern: 'app/libs/bootstrap/js/bootstrap.js', watched: true, included: true, served: true},
{pattern: 'app/js/myjavascript.js', watched: true, included: true, served: true},
{pattern: 'test/spec/**/*.js', watched: true, included: true, served: true},
{pattern: 'test/spec/**/*.html', watched: true, included: false, served: true}
],
});
};
Какой браузер вы используете в ваших тестах? – MBielski
jasmine default не понимает методы jquery, вы используете библиотеку jq jasmine? –
@MBielski, я пробовал Chrome, Firefox и PhantomJS, но тест продолжает терпеть неудачу. –