如何为Jasmine测试创建Aurelia-Validation Validation对象

时间:2015-12-11 12:10:16

标签: jasmine karma-jasmine aurelia aurelia-validation

我目前正在使用Aurelia-Validation插件进行客户端验证。由于必须将验证对象注入到调用类的构造函数中,因此我对所讨论的类的所有jasmine测试都会失败(因为没有传入验证对象)

我一直试图创建一个模拟验证对象一段时间,甚至是一个真实的,但我似乎无法做到正确。我得到的最接近的是:

beforeEach(() => {
    cache = new Cache();
    session = new Session();
    var valCon = new ValidationConfig();
    var obsLoc = new ObserverLocator();
    sut = new InsuredInformation(session, cache, new Validation(obsLoc,valCon));
}); 

但是当我运行Karma说:

时,我一直都会遇到错误
TypeError: Expecting a function in instanceof check, but got [object Object]

我假设这与验证对象有关,以及我如何实例化它。有没有人成功为使用aurelia-validation插件的Aurelia View-Models创建了Jasmine测试?

1 个答案:

答案 0 :(得分:3)

尝试使用Container来实例化您的对象。您可能需要初始化平台抽象层。

import {Container} from 'aurelia-framework'; // or 'aurelia-dependency-injection'
import {initialize as initializePAL} from 'aurelia-pal-browser'; // you may need to `jspm install aurelia-pal-browser`
initializePAL();

beforeEach(() => {
  let container = new Container();
  sut = container.get(InsuredInformation);
  foo = container.get(SomeOtherClassThatYouWantToTest);
});