我们有一个Node应用程序,我们正在尝试将我们的测试用例迁移到Jest.In本地开发环境,一切都在运行,能够在Jenkins上运行tests.When配置CI,我们收到了许多@providesModule命名冲突警告,最终构建fails.We不是react或react原生应用程序。
我们从我们的分析中怀疑的是,Jest试图在CI中创建自己的依赖图,而不是从纱线锁中创建依赖图,因此让这些奇怪的东西提供模块冲突警告。
在做so.In本地代码时,我们如何避免Jest,但是它没有显示任何这样的警告。
发布于 2018-08-13 12:18:17
在尝试将Jest测试集成到我的CI配置中时,我遇到了类似的问题。我找到的解决方案是使用npm安装而不是yarn安装。我认为这可能是纱线缓存的问题。
请看这个帖子和这个答案:https://github.com/facebook/react-native/issues/13364#issuecomment-312500564
编辑
我发现的另一个解决方法是在运行yarn install之前删除yarn缓存。以下是Heroku部署的GitLab配置项示例。
image: node:8.11.3
cache:
paths:
- node_modules/
before_script:
- apt-get update -qq && apt-get install
stages:
- test
test:
stage: test
before_script:
- rm -rf .yarn
- yarn install
script:
- yarn test或者,使用npm命令来代替yarn似乎也可以解决这个问题。在这种情况下,您不需要删除纱线缓存。
https://stackoverflow.com/questions/50067181
复制相似问题