0

我正在尝试让一个项目与 Jasmine 一起正常工作。我正在使用从这里下载的项目。我添加了另一个规范文件 PatientSpec.js:

describe('Patient :: Create', function() {
  it("Must note be null", function() {
    require(['models/Patient'], function(Patient) {
      var patient1 = new Patient();
      expect(patient).toBeDefined();
    });
  });
});

您会看到我的 var 已命名patient1,并且我正在对变量 name 运行期望patient。当我查看我的 index.html 时,我的所有测试都通过了,这显然没有定义。我拉起控制台,这是我的错误:

在此处输入图像描述

什么会导致这个错误?为什么它会默默地失败?

4

1 回答 1

1

它静默失败,导致错误发生在您的require调用回调中,而不是在您的测试中。因此,当您的测试完成抛出错误时。您必须在回调中运行测试:

require(['models/Patient'], function(Patient) {
  describe('Patient :: Create', function() {
    it("Must note be null", function() {
      var patient1 = new Patient();
      expect(patient).toBeDefined();
    });
  });
});

看看这个SO确实了解如何测试 requireJs 模块

于 2013-08-05T21:17:37.290 回答