您好我正在尝试开始一个简单的茉莉花测试(使用打字稿),这似乎不起作用。我测试的是在变量不为空的情况下查看是否在内部函数的else部分中调用了函数。
我的职能:
let getAndSet = () => {
if (main.getApiAcessToken() === "") {
main.addIframe();
main.getGraphToken();
} else {
getCountry();
}
};
这是测试:
it("should call Function get country if token that was passed not empty", () => {
let main2 = main;
main2.getApiAcessToken = jasmine.createSpy("getApiAcessToken spy").and.returnValue("not empty");
let getCountry2 = jasmine.createSpy("getCountry spy");
getAndSet();
expect(getCountry2).toHaveBeenCalled();
});
我似乎不明白可能是什么问题,我尝试更改为普通的js函数或者这个。主要功能里面没有一个似乎工作似乎我在茉莉花中缺少一些非常基本的东西。
答案 0 :(得分:0)
你的间谍的名字是错的。您的间谍称为getCountry2
,而在代码中,该方法称为getCountry
:
getCountry = jasmine.createSpy("getCountry spy");
getAndSet();
expect(getCountry).toHaveBeenCalled();
以下是一个工作示例:http://jsfiddle.net/bBL9P/506/