我目前正在使用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测试?
答案 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);
});