如何模拟使用在节点模块中导出的导入(ES6打字稿)的外部注入库进行单元测试

亲和力

在我的主应用程序中,我使用以下命令导入节点包“ ibm_db”: import * as ibmdb from "ibm_db";

在我的单元测试中,我希望能够覆盖它,然后我: import * as ibmdb from "ibm_db";

在我的单元测试中,然后:

beforeEach(() => {
   ibmdb.open = jasmine.createSpy("open");
});

我收到错误消息:

Cannot assign to 'open' because it is a readOnly property.

我需要知道打字稿(使用tsc编译成js,然后使用jasmine命令进行测试),模拟这些函数的正确方法,这样我才能知道是否有调用,我不希望这些调用真正触发。

亲和力

对于ES6导入,请使用:

import * as name from "library_name"

在单元测试中使用:

const name = require("library_name");

需求将使您覆盖部分库,其中导入不会

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在打字稿中使用带有es6导入语法的节点模块

使用$ httpbackend模拟和打字稿进行单元测试

如何使用ES6模块模拟单元测试的依赖关系

如何使用内部依赖项对ES6模块进行单元测试

如何使用打字稿在Web-Worker中导入库

在单元测试中模拟es6模块

如何导入香草JS ES6模块打字稿?

使用jest和vue-test-utils2在vue3打字稿单元测试中模拟axios(已解决)

如何模拟ES6单元测试的依赖关系?

如何模拟 navigator.language 进行打字稿单元测试

在打字稿中,如何使用es6语法通过默认导出导入纯JavaScript文件?

使用Webpack,Jasmine(核心),打字稿进行单元测试

从外部节点模块导入打字稿

如何使用KARMA对React JSX ES6代码进行单元测试?

VSCode如何使用es6 mocha单元测试和jsx文件进行调试

如何使用Jest模拟ES6模块导入?

ES6,如何在一行中导出导入的模块?

如何使用打字稿,业力和sinon对包含类型联合的对象进行单元测试?

使用模拟和修补外部模块的Python单元测试

如何测试使用jsdom导入jQuery的ES6模块

节点,使用sinon进行单元测试和模拟

使用Tape / ES6单元测试测试AMD模块?

Python单元测试模拟,无法修补在__init__.py中导入的time模块

如何导出要在ES6中导入的功能?

打字稿es6导入模块“文件不是模块错误”

在repl中导入es6模块

在进行单元测试时如何调用React组件的自定义方法。我正在使用打字稿

ES6 打字稿将所有导出的常量作为数组导入

使用Karma / Jasmine对ES6 Angular Directive ControllerAs进行单元测试的问题