我使用Karma和Jasmine进行测试。在某些测试中,我有大量的测试依赖的对象。当我做
之类的事情expect(obj).toEqual(expectedObj);
和obj != expectedObj
,我的终端收到错误消息。 但是这个错误确实很长,因为它包含了两个对象,并且很难看到这两个对象在哪些部分是不同的。
那么,是否有终端的荧光笔,可以与业力一起使用?通过这种方式,弄清楚什么是错误会更容易。
答案 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
}
}
}
});
};
输出将是这样的: