我想测试一种组件方法。 我想检查在该方法中创建的对象,并将其传递给另一个方法。
我有一个组件,其方法描述如下:
submit() {
const goal= new Goal();
if(component.property == true){
goal.myProperty ='reached';
} else {
goal.myProperty =' not reached';
create(goal);
}
我想检查一下goal.myProperty属性,因为它已被传递给create()方法。
答案 0 :(得分:1)
为了实现这一点,您将不得不监视您的方法,并查看用于调用的参数。您将必须测试参数属性。
这里是一个示例:
it('should XXX', () => {
const spy = spyOn(YourImportThatContainsCreate, 'create');
component.submit();
epxect(spy.calls.argsFor(0)[1].myProperty).toEqual('reached');
});
答案 1 :(得分:0)
尝试此代码:
it('should submit', () => {
spyOn(component, 'create');
component.submit();
expect(component.create).toHaveBeenCalledWith(jasmine.objectContaining(myProperty : 'reached'));
})
对不起,我还没有尝试过。