Expo安全存储在玩笑测试中不可用



这个问题是关于expo-secure-storejest的。

目前,我在登录时使用expose -secure-store来存储JWT。它在模拟器上运行时很好,但是在Jest测试中根本不起作用;token返回为undefined。我可以像平常一样调用函数。

请原谅我在重构时可能犯的任何错别字。从测试中调用:

test('when logging in, given correct credentials, gets response token.', async () => {
try {
var token = await SecureStore.getItemAsync("token");
await SecureStore.setItemAsync('token', 'test');
token = await SecureStore.getItemAsync('token');
console.log(token);
expect(token).toBeDefined();
expect(token).toBe("test");
} catch (err) {
console.log(err);
throw err;
}
}

问题:在没有实际设备/模拟器的情况下,expose -secure-store不能加载/工作吗?

没有任何关于使用secure-store进行测试的文档,据我所知,我可能不得不模拟这个模块。

你必须模拟你使用的任何本地模块,因为它们的实现主要存在于旨在在ios和android设备上运行的本地代码中。所以这里也同样适用—您应该模拟expose -secure-store。

最新更新