Karma茉莉花测试:在终端突出显示差异

时间:2014-05-02 13:45:55

标签: javascript testing jasmine karma-runner

我使用Karma和Jasmine进行测试。在某些测试中,我有大量的测试依赖的对象。当我做

之类的事情
expect(obj).toEqual(expectedObj);

obj != expectedObj,我的终端收到错误消息。 但是这个错误确实很长,因为它包含了两个对象,并且很难看到这两个对象在哪些部分是不同的。

那么,是否有终端的荧光笔,可以与业力一起使用?通过这种方式,弄清楚什么是错误会更容易。

1 个答案:

答案 0 :(得分:7)

我遇到了同样的问题,对我来说是karma-jasmine-diff-reporter

只需安装它:

npm install karma-jasmine-diff-reporter --save-dev

并将其配置为记者,例如:

// karma.conf.js 
module.exports = function(config) {
  config.set({     

    reporters: ['jasmine-diff']     

  });
};

您可以将其配置为漂亮的打印:

    // karma.conf.js 
    module.exports = function(config) {
      config.set({     

        reporters: ['jasmine-diff'],     

        jasmineDiffReporter: {
            pretty: true, // 2 spaces by default for one indent level
            matchers: {
                toEqual: {
                    pretty: false   // disable pretty print for toEqual
                }
            }
        }         
      });
    };

输出将是这样的:

Output example