首页 > 解决方案 > Jasmine/Jest 类型冲突

问题描述

我在这里比较新,需要一些帮助。我工作的公司使用 karma 和 jasmine 进行单元测试。现在他们想将一些测试迁移到 jest。我得到了一张分配给我的票。顺便说一句,我们正在使用打字稿......我安装了 jest,以 .spec.jest.ts 为前缀,以将 jest 测试与业力分开。它工作正常。Jest 只是拾取那些带有前缀的文件。但是当我尝试用我们的项目做一些构建事情时,我得到了 jest 和 jasmine 之间的类型声明冲突。例如:node_modules/@types/jest/index.d.ts:32:1 - 错误 TS6200:以下标识符的定义与另一个文件中的标识符冲突:beforeAll、beforeEach、afterAll、afterEach、describe、fdescribe、xdescribe、it , fit, xit, expect, clock, DEFAULT_TIMEOUT_INTERVAL, CustomMatcherFact ory, CustomEqualityTester

我知道 jest 是建立在 jasmine 之上的,但是是否有某种解决方法,我们希望逐渐迁移我们的测试。一次一个。是否有某种解决方法来命名开玩笑的类型或类似的东西,所以不会发生冲突?

提前 Tnx 为您提供帮助:)

我试图用谷歌搜索一些解决方法,但没有遇到任何可以解决问题的方法。

标签: javascripttypescriptjasminejestjskarma-jasmine

解决方案


我们在 tsconfig 中排除了 karma 类型并添加了 jest 类型。IDE 现在不选择 karma 类型,但它对我们有用,因为我们的大多数测试现在都是开玩笑的,很少剩下 karma 和构建过程现在可以正常工作,因为不再有类型冲突。


推荐阅读