我正在调用一个函数,该函数在我的一个函数中多次注销,并且我想测试每次注销时传递的args。
我确实有这项工作,但是此后稍有改变。
最初我是先记录一个字符串,然后再记录一个对象,即
myObject = {
'one': 'one',
'two': 'two'
}
myfunct() {
log.info('some string', myObject);
log.info('some other string', myObject);
}
我正在与
进行测试// spying on logger
...
expect(spyLog).toHaveBeenNthCalledWith(1, 'some string', myObject);
expect(spyLog).toHaveBeenNthCalledWith(2, 'some other string', myObject);
我现在将对象更改为实际上包含将直接分配的字符串,即:
myNewObject(myString: string) {
return {
'string': myString,
'one': 'one',
'two': 'two'
}
}
myfunct() {
log.info(myNewObject('some string'));
log.info(myNewObject('some other string'));
}
有没有一种方法可以测试传递的参数而不必创建每个不同对象的const?
即。我想避免出现以下情况:
myFirstObject = {
'string': 'some string',
'one': 'one',
'two': 'two'
};
mySecondObject = {
'string': 'some other string',
'one': 'one',
'two': 'two'
};
expect(spyLog).toHaveBeenNthCalledWith(1, myFirstObject);
expect(spyLog).toHaveBeenNthCalledWith(2, mySecondObject);
如果我有更多的这些日志输出,我不希望有大量的const定义几乎相同的信息...