javascript - Jasmine 2.0 SpecRunner 与 Karma

标签 javascript jasmine karma-runner

我刚开始使用 Jasmine,并且能够很好地使用 Html 中的 SpecRunner。然而,当我配置 Karma 时,我遇到了一个差异:

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({ 它会引发错误。

最佳答案

如果你在安装 karma 之后运行 npm install karma-jasmine@~0.2.1 这将使用正确的 jasmine 版本(karma 仍然没有更新以默认安装正确的版本作为新版本适配器仅在几天前发布)

关于javascript - Jasmine 2.0 SpecRunner 与 Karma,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20884438/

相关文章:

javascript - 在 Angular 1.6 中以编程方式加载组件

javascript - 如果初始状态为空,如何修改组件状态?

javascript - 为什么文本输入有额外的填充?

javascript - 我的 Bootstrap 导航栏未显示在移动设备上

javascript - 使用 jasmine 测试对象中的事件处理程序

javascript - 您如何使用 Resharper 调试 Jasmine 测试?

javascript - 如何通过 phantomjs 可靠地执行利用 requirejs 的 Jasmine 测试?

angularjs - 在 AngularJS/karma/jasmine 测试中通过 $http 测试后端 API?

unit-testing - karma + Jasmine ,ReferenceError : browser is not defined

angular-cli - 单元测试无法在 VSTS 中运行?