Karma检测到更改但未运行新测试

时间:2016-07-20 21:00:55

标签: javascript angularjs unit-testing karma-runner

我正在使用babel和ng-html2js来构建和测试角度应用程序,并将Karma作为测试运行器。在大多数情况下,事情正在发挥作用。如果我对文件进行更改,Karma将重新运行测试并适当地通过/失败测试。 Karma还确定何时对测试文件本身进行了更改...但是,它将运行测试而不是新测试。

举个简单的例子:

/* constant.js */
angular.module("foo").constant("constant", 1);

/* constant.test.js */
let constant;
beforeEach(inject(_constant_ => constant = _constant));
describe("constant", () => {
  it("is 1", () => {
     expect(constant).to.equal(2);
  });
});

在上面的测试中,我正在针对constant检查2,但在原始代码中,constant为1。

  • 如果我在constant中将2更改为constant.js,则测试将重新运行并通过。
  • 如果我将.to.equal(2)更改为.to.equal(1)并从头开始重新运行测试,则会通过。
  • 如果我在测试已经运行时将.to.equal(2)更改为.to.equal(1),则测试将自动重新运行,但它们将失败,因为它仍然检查1等于2。

当我更改测试文件时,如何让Karma重新运行新测试?

0 个答案:

没有答案