嘿,所以我想对我的Angular应用程序使用此方法进行单元测试:
public methodEquip(someBonus: Parameters) {
let flag = false;
for (const shield of someBonus.items) {
if (shield.added.length !== 0 || shield.removed.length !== 0) {
flag = true
}
if (flag) {
return true;
} else {
return false;
}
}
}
我想对Jasmine进行单元测试。我可以做简单的单元测试,但是现在对我来说太麻烦了,我被困住了。我对单元测试还很陌生,我也不知道该怎么做:/ 你能帮我吗?
我现在只有这个,其余的我也不知道该怎么做:
it('tests methodEquip', () => {
let flag = false;
const newMocked = new Parameters;
component.methodEquip(newMocked);
});
答案 0 :(得分:0)
使用茉莉花,任何matcher
都可以通过在调用expect
之前将与not
的调用链接到matcher
来评估否定断言。
对于基本类型(布尔,数字,字符串等):
expect(actual).not.toBe(x);
对于对象:
expect(actual).not.toEqual(x);
在您的情况下,测试可能如下所示:
it('#methodEquip should not return false when ...', () => {
const parameters = new Parameters;
const actual = component.methodEquip(parameters);
expect(actual).not.toBe(false);
});
由于
boolean
只有两个可能的值,所以简单地写expect(actual).toBe(true)
会更有意义;