使用Jest无法将类型“ openURL”的参数分配给类型“从不”的参数

迅速

我是Jest的初学者,这些是定义的类。APIService类不会导出;仅定义了openURL函数。

APIService.ts

    export const openURL = async (openURL : string) => {
    await Linking.openURL(openURL );
};

RegistrationPage.tsx

import{openURL} from '../APIService';

RegistrationPage.test.ts

test('should call function openURL with empty value', async () => {
const url = '';
const mockOpenURL = jest.fn();
mockOpenURL .mockImplementation(() => Promise.resolve(''));
const openURLSpy = jest.spyOn(openURL, 'openURL');
const mockURL = await openURL(url);
expect(mockOpenURL).toBeCalled();
expect(mockURL).toEqual(url);
expect(mockOpenURL).toHaveBeenCalledWith(url);
openURLSpy.mockRestore();

});

根据我的低估编写此函数后,可能是漏洞没有​​正确模拟或间谍运行,从而导致无法使用Jest将类型为“ openURL”的参数分配给“从不”的参数

改进此测试用例的建议将有所帮助。

那将是烧瓶

仅在本地定义变量const mockOpenURL = jest.fn()就不能模拟任何内容。

jest.spyOn(openURL, 'openURL')失败,因为openURL是一个函数,没有openURL.openURL属性。

APIService需要模拟模块:

import{openURL} from '../APIService';
jest.mock('../APIService', () => {
  return {
    __esModule: true,
    openURL: jest.fn()
  }
};
...
openURL.mockResolvedValue();
// code that calls openURL

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

打字稿错误“无法将类型参数分配给类型参数”

无法将类型“未知”的参数分配给类型“字符串”的参数

无法将类型'MemoizedSelector <ICommonAppState,IMenuItemsObject []>'的参数分配给类型'string'的参数

修复TS2345:无法将类型“ HTMLElement”的参数分配给类型“ HTMLInputElement”的参数

无法将类型“ ApolloServer”的参数分配给类型“ ApolloServerBase”的参数

无法将类型“未知”的参数分配给类型“ {}”的参数

无法将类型为'HttpEvent <any>'的角形参数分配给该参数

无法在Visual Studio中将类型为'string'的参数分配给类型为'number'的参数

无法将参数类型“ ”分配给参数类型列表 <>

无法将字符串类型的参数分配给paramMap

无法将函数分配给具有通用参数的类型

rxjs6分区方法:无法将类型“ UnaryFunction”的参数分配给类型“ OperatorFunction”的参数

React Component上的打字稿错误:无法将'Element'类型的参数分配给该类型的参数

打字稿错误:无法将类型'number'的参数分配给'Expected <Promise <number >>'类型的参数

Firebase:getIdToken()的结果导致错误:无法将类型'Promise'的参数分配给类型'string'的参数

React useState hooks错误:无法将类型“ xxx”的参数分配给类型“ SetStateAction <xx>”的参数

Flutter - 不能将函数类型的参数分配给“void function()”类型的参数

不能将类型为“ combined”的参数分配给类型为“ FormatFn”的参数

“IAccount”类型的 TypeScript 参数不可分配给“从不”类型的参数

<Interface> 类型的参数不可分配给“从不”类型的参数

类型参数不可分配给“从不”类型的参数

类型“ any”的参数不能分配给“从不”类型的参数打字稿解决方案

类型'string |的Typescript错误参数 数字”不能分配给“从不”类型的参数

{...} 类型的参数不可分配给“从不”类型的参数

不能使用 ParseInt 将“数字”类型的参数分配给“字符串”类型的参数

通过方法类型参数分配给类型成员的值会破坏类型等效性

将类型级别参数分配给数据结构树

“ ThunkAction”类型的参数无法分配给“ AnyAction”类型的参数

可空子类型上的 keyof,“不可分配给‘从不’类型的参数”