如何修改失败的茉莉花测试的标题,以便在每个描述标题后包含分隔符?

时间:2017-11-20 16:42:42

标签: javascript unit-testing jasmine

如果茉莉花测试失败,则失败测试的标头包含describeit方法的所有子标题,例如对

describe('foo', function(){
  describe('baa', function(){
    it('qux', function(){
      expect(true).toBe(false);
    });
  });
});

标题行变为

foo baa qux

enter image description here

为了能够更轻松地阅读标题,我想在个别描述标题后添加一个分隔符。随着

describe('foo / ', function(){
  describe('baa / ', function(){
    it('qux', function(){
      expect(true).toBe(false);
    });
  });
});

标题行变为

foo / baa / qux

但是,我不想为每个describe手动添加分隔符。

=>如何告诉jasmine(或jasmine-html报告??)在每个describe标题后自动插入分隔符?

1 个答案:

答案 0 :(得分:2)

我重写describe函数以将分隔符添加到标题:

function addSeparatorAfterDescribeTitlesToImproveHeaderForFailedTests() {
    var describeSeparator = ' / ';

    if(!window.jasmineHasBeenCustomized) {
      var oldDescribe = window.describe;
      window.describe = function (description, specDefinitions) {
        oldDescribe(description + describeSeparator, specDefinitions);
      };
      window.jasmineHasBeenCustomized = true;
    }

  }

我在customMatchers.js中调用此方法,我已经为jasmine定义了自定义匹配器。