我无法让我的头周围的笑话函数嘲笑。
我的设置:
我有一个对象要测试。在该对象中,我调用一个函数,它 Package 了一个外部API调用。我想模拟'getUser'函数(而不是#getUser ;- ))。
class MyNicelogin {
constructor(bHardLogin=false) {
...
this.#getUser(oLoginResponse);
...
}
async #getUser(oLoginResponse=null) {
...
try {
...
this.oUser = await getUser(this.#oLoginResponse.AuthenticationResult.AccessToken);
...
} catch (e) {
...
}
}
...
}
我就知道会这样
const MyNiceLogin = require('../Website/js/MyNiceLogin.js');
const mockGetUser = jest.fn(() => {return 'true';});
getUser() = mockGetUser;
...
describe('Test 1', () => {
test('not logged in user on soft login => not relayed to login page', () => {
...
new MyNiceLogin.MyNiceLogin(true);
expect(sessionStorage.getItem).toHaveBeenCalledTimes(1);
...
});
});
...
但它的错误为
getUser() = mockGetUser;
^
Invalid left-hand side in assignment expression.
很明显我在设置模拟的时候做错了什么。有人知道吗?
1条答案
按热度按时间yebdmbv41#
我知道了。“新”的部分起作用了:
旧的
用户名= jest.fn(()=〉{返回'true';});获取用户()=模拟获取用户;
新的
全局.getUser = jest.fn(()=〉{返回'true';});