对象的打字稿测试性能的组分的方法中创建

问题描述 投票:0回答:2

我想测试的部件的方法。我想检查被作为它被传递给另一种方法,该方法中创建的对象。

我有像这样描述的方法的一种成份:

submit() {

    const goal= new Goal();
    if(component.property == true){
        goal.myProperty ='reached';
    } else { 
        goal.myProperty =' not reached';

    create(goal);
}

我想,因为它被传递给create()方法来检查goal.myProperty财产。

angular typescript karma-jasmine
2个回答
1
投票

为了做到这一点,你将不得不窥探你的方法,并看到用于调用的参数。您将要测试的参数性能。

下面是一个例子:

it('should XXX', () => {
  const spy = spyOn(YourImportThatContainsCreate, 'create');
  component.submit();
  epxect(spy.calls.argsFor(0)[1].myProperty).toEqual('reached');
});

0
投票

试试这个代码:

it('should submit', () => {
  spyOn(component, 'create');
  component.submit();
  expect(component.create).toHaveBeenCalledWith(jasmine.objectContaining(myProperty : 'reached'));
})

对不起,我还没有尝试过自己。

© www.soinside.com 2019 - 2024. All rights reserved.