我想测试的部件的方法。我想检查被作为它被传递给另一种方法,该方法中创建的对象。
我有像这样描述的方法的一种成份:
submit() {
const goal= new Goal();
if(component.property == true){
goal.myProperty ='reached';
} else {
goal.myProperty =' not reached';
create(goal);
}
我想,因为它被传递给create()方法来检查goal.myProperty财产。
为了做到这一点,你将不得不窥探你的方法,并看到用于调用的参数。您将要测试的参数性能。
下面是一个例子:
it('should XXX', () => {
const spy = spyOn(YourImportThatContainsCreate, 'create');
component.submit();
epxect(spy.calls.argsFor(0)[1].myProperty).toEqual('reached');
});
试试这个代码:
it('should submit', () => {
spyOn(component, 'create');
component.submit();
expect(component.create).toHaveBeenCalledWith(jasmine.objectContaining(myProperty : 'reached'));
})
对不起,我还没有尝试过自己。