Я только начал использовать Jasmine, и я смог отлично использовать SpecRunner из Html. Однако, когда я настроил Карму, я обнаружил несоответствие:
describe('Calculator', function(){
var obj;
beforeEach(function(){
//initialize object
obj = new Object();
this.addMatchers({
toBeFive: function () {
return {
compare: function (actual, expected) {
return {
pass: actual === 5,
message: actual + ' is not exactly 5'
}
}
};
},
Этот фрагмент кода не работает из SpecRunner.html:
this.addMatchers({
Вместо этого мне пришлось использовать это:
jasmine.addMatchers({
Это то, что включает specrunner:
<!-- libs... -->
<script type="text/javascript" src="lib/jasmine-2.0.0/jasmine.js"></script>
<script type="text/javascript" src="lib/jasmine-2.0.0/jasmine-html.js"></script>
<script type="text/javascript" src="lib/jasmine-2.0.0/boot.js"></script>
<!-- source files here... -->
<script type="text/javascript" src="../../calculator/calculator.js"></script>
<!-- test files here... -->
<script type="text/javascript" src="spec/calculator/calculator-test.js"></script>
Ошибка, которую я получаю:
TypeError: Object #<Object> has no method 'addMatchers'
Обратите внимание, что Karma не вызывает ошибок, но если я использую jasmine.addMatchers({он делает.