У меня есть служба углов, которая настраивает аудиоконтекст. Жасмин создает новую услугу для каждого теста, поэтому после 6 тестов всех испытаний завершаться с ошибкой:Как освободить AudioContext в тестах Жасмина
Error: Failed to construct 'AudioContext': The number of hardware contexts provided (6) is greater than or equal to the maximum bound (6).
Есть ли способ для меня, чтобы очистить AudioContext между испытаниями? Я пробовал AudioPlayer.context.close()
в блоке afterEach, но, похоже, не работает.
услуга выглядит вроде как это:
angular.module('myApp')
.service('AudioPlayer', function() {
var self = this;
self.context = new AudioContext();
this.doSomething = function() {
// doing super cool testable stuff here
}
})
и тесты выглядит вроде как это:
describe('AudioPlayer', function() {
var AudioPlayer;
beforeEach(function() {
inject(function ($injector) {
AudioPlayer = $injector.get('AudioPlayer');
});
});
afterEach(function() {
AudioPlayer.context.close();
});
it('does cool stuff', function() {
AudioPlayer.doSomething();
// unit test
});
it('does other cool stuff', function() {
AudioPlayer.doSomething();
// unit test
});
});
Спасибо за помощь!
Вот является jsFiddle, иллюстрирующий проблему: http://jsfiddle.net/briankeane/cp929can/1/
у вас есть 'уаг себя = это,' там правильно? –
также, пожалуйста, добавьте код 'afterEach' с частью очистки –
ok, done. Что дальше? – lonesomewhistle