首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Node.js 中的 require 是如何工作的?

按照文件夹的形式加载(Y + X),如果存在就返回该文件,不再继续执行,若找不到将抛出错误 a. 尝试解析路径下 package.json main 字段 b....在 GLOBAL_FOLDERS node_modules 目录中查找 X 抛出 "Not Found" Error 复制代码例如在 /Users/helkyle/projects/learning-module...require 会以被 link 模块在文件系统中的绝对路径进行查找,而不是 main module 所在的路径。...使用方式是在需要被 mock 的文件模块同级目录下的 __mock__ 文件夹添加同名文件,执行测试代码时运行 jest.mock(modulePath),jest 会自动加载 mock 版本的 module...程序启动时的 require 查阅 Node 文档发现,在 Command Line 章节也有一个 --require ,使用这个参数可以在执行业务代码之前预先加载特定模块。

3.4K10

React报错之Cannot find namespace context

中,为了解决"Cannot find namespace context"错误,在你使用JSX的文件中使用.tsx扩展名,在你的tsconfig.json文件中把jsx设置为react-jsx,并确保为你的应用程序安装所有必要的...tsx 这是不被允许的,因为为了能在TypeScript文件中使用JSX,我们必须这样做: 以.tsx扩展名命名文件 在tsconfig.json文件中开启jsx选项 确保所有你编写JSX代码的文件都有...它会导致编译器抛出.js文件,其中的JSX被改为_jsx调用。...如果仍然报错,尝试删除node_modules和package-lock.json文件(不是package.json),重新运行npm install并重启你的IDE。...手动添加 如果你仍然得到"Cannot find namespace Context"的错误,打开你的package.json文件,确保它在devDependencies对象中包含以下包。

86030
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    React Native自动化测试

    我们期待你能帮助我们提高测试覆盖率,以及提供更多的测试代码或是测试用例。 使用Jest来测试 Jest是在命令行通过node来执行的纯js测试工具。测试代码放置在__tests__目录下。...注意:要运行你自己的测试代码,请首先去jest的官网阅读指导文档,然后在package.json中加入jest对象,在其中包含一些预备测试环境的脚本。下面是一个示例: ......注意:你可能需要先在当前的环境中安装、更新或是链接Node.js和其他的一些工具,不然测试可能无法正常运行。点这里查看最新的测试配置文件.travis.yml。...:方法,它们会按提供的条件去验证抛出的错误是否符合。...参考效果图是通过在RCTTestRunner中设置recordMode = YES,然后在运行测试时录制的。

    3K60

    web前端好帮手 - Jest单元测试工具

    在packages.json配置命令行接口: { "scripts": { "test": "jest", "test-debug": "node --inspect-brk node_modules...基于以上划分,测试逻辑和范围就很清晰了: url.parse方法支持: 解析一般url 解析带hash的url 解析url片段 url.getParameter方法支持: 从指定url中获取查询参数 从浏览器地址中获取查询参数...test('必要参数uid漏传报错', () => { expect(fetchUserInfo()).toThrow(); }); 注意测试错误抛出时,要在测试逻辑外加一层函数包裹,Jest才能捕获到错误...钩子和作用域 测试时难免有些重复的逻辑,比如我们测试读写文件时需要准备个临时文件,或者比如下面我们使用afterEach钩子,在每个测试完成后重置全局变量: global.platform = {};function...node_modules/jest/bin/jest.js --runInBand" }} --runInBand参数让Jest在同一个进程下运行测试,方便我们断点调试。

    5K40

    关于在vs2010中编译Qt项目时出现“无法解析的外部命令”的错误

    用CMake将Qt、VTK和ITK整合后,打开解决方案后添加新类时运行会出现“n个无法解析的外部命令”的错误。...原因是新建的类未能生成moc文件,解决办法是: 1.右键 要生成moc文件的.h文件,打开属性->常规->项类型改为自定义生成工具。 2.在新生成的选项中,填上相关内容: ?...\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" 说明:Moc%27ing ImageViewer.h... //.h文件填要编译的...关于moc文件,查看:qt中moc的作用 简单来说:moc是QT的预编译器,用来处理代码中的slot,signal,emit,Q_OBJECT等。...moc文件是对应的处理代码,也就是Q_OBJECT宏的实现部分。 XX.ui文件生成ui_XX.h: 当前路径命令行输入uic XX.ui -o ui_XX.h

    6.5K20

    如何发布一个 TypeScript 编写的 npm 包

    mkdir digxcd digxnpm init --yesnpm init --yes命令将为你创建package.json文件,并填充一些默认值。让我们也在同一文件夹中设置一个git仓库。...我们就保持简洁,采用ts-jest。使用如下命令初始化jest配置文件:./node_modules/.bin/jest --init一路狂按回车键就行,默认值就很好。...这会使用一些默认选项创建jest.config.js文件,并添加"test": "jest"脚本到package.json中。...我们的模块导出一个单一函数,digx。它接收任意对象,字符串参数path,以及可选参数shouldThrow,该参数使得提供的路径在源对象的嵌套结构中不被允许时,抛出一个异常。...我更希望有一个"白名单",所以让我们使用package.json中的files字段来指定我们想要包含的文件。{ // ...

    1.4K20

    前端单元测试那些事

    (Test Runner),让你的代码自动在多个浏览器(chrome,firefox,ie等)环境下运行 Mocha - Mocha是一个测试框架,在vue-cli中配合chai断言库实现单元测试( Mocha...而BDD是先写主功能模块,再写测试模块 2.3 断言库 断言指的是一些布尔表达式,在程序中的某个特定点该表达式值为真,判断代码的实际执行结果与预期结果是否一致,而断言库则是讲常用的方法封装起来...: ['/node_modules/'], collectCoverage: false, coverageReporters: ['json', 'html'], coverageDirectory...**/node_modules/**', ], }; 配置解析: testMatch - 匹配测试用例的文件 transform - 用 vue-jest 处理 *.vue 文件,用babel-jest...提供的生成测试覆盖率报告的命令,需要生成覆盖率报告的在package.json添加--coverage参数 (3) 单元测试文件命名 以spec.js结尾命名,spec是sepcification的缩写

    1.6K41

    单元测试

    cnpm包目录下执行 npx jest4r setup4package 这将完成以下工作 配置cnpm包下的 jest.config.js 文件 添加测试脚本到 cnpm包下的 package.json...jest-location-mock 用于在 Jest 测试中模拟浏览器window.location对象的库。...对于层级较深的组件,需在单测文件中增加注释,说明测试组件所在的路径 运行单测 单测执行 安装 VSCode Jest 运行插件 名称: Jest Runner ID: firsttris.vscode-jest-runner...jest,并完成jest相关配置 (目前) 项目中使用jest编写了测试用例 确保项目执行下述jest命令无问题 (生成报告,指定报告位置,生成json数据,指定json数据输出文件) jest --...find* 其实也是在内部用了 waitFor),但是第二种使用方法更清晰,而且抛出的错误信息会更友好。

    31210

    Unit Testing

    #配置单元测试 #安装 Jest 我们使用 yarn 来安装 Jest 包 yarn add -D jest 在 package.json 文件中加入测试命令 { "scripts": {..."test": "jest" } } 之后只需要在 Command Line 中输入 yarn test 即可开启测试 #配置时遇到的麻烦 在我配置 Jest 时遇到了几个麻烦,让我的测试代码运行不起来...} } 用来匹配 @/ 都指向到 根目录/src/前文中(.*)`匹配的分组 未忽略 node_modules 文件夹下的代码 一般来说这个是默认的,Jest 默认会忽略 node_modules...文件夹下的文件和代码 无法识别 css scss 等样式文件 在我们组件当中大部分都会有 css 或者 scss 等文件,但是 Jest 并无法处理这类文件,此时需要将此类样式文件都 Mock 掉 {...在表格中 ✅ 的,建议是在 100% 的覆盖率 #参考 Jest React 测试技巧 React 单元测试策略及落地 单元测试-维基百科

    1.3K20

    eslint 从0到1

    常用命令行 -c 指定配置文件 -- env 指定环境 --rule 指定规则 -- fix 是自动否修复错误 其他 .eslintrc.* 配置文件 通过配置文件控制文件校验的规则。...基础配置项 env 指定包或项目的运行环境 针对不同的允许环境,存在不同的全局变量, 例如 浏览器中的 window, node 中的 process.env 等。...(x)', ], env: { jest: true, }, }, ] root 是否停止向上查询 { root: true // 停止向父级目录中寻找配置文件...如果同级目录下存在 package.json, .eslintrc.* , package.json 内的配置将被忽略 可通过配置属性root 修改层叠规则 eslintignore 忽略文件 某些目录或文件不要做校验时...,可在在目录下新增.eslintignore 文件 , 写入需要忽略的目录或文件 // .eslintignore node_modules/ dist/ lib/ bin/ eslint 规则注释 有的情况下

    1.7K20

    前端单元测试那些事

    (Test Runner),让你的代码自动在多个浏览器(chrome,firefox,ie等)环境下运行 Mocha - Mocha是一个测试框架,在vue-cli中配合chai断言库实现单元测试( Mocha...: ['/node_modules/'], collectCoverage: false, coverageReporters: ['json', 'html'], coverageDirectory...**/node_modules/**', ], }; 配置解析: testMatch - 匹配测试用例的文件 transform - 用 vue-jest 处理 *.vue 文件,用babel-jest...提供的生成测试覆盖率报告的命令,需要生成覆盖率报告的在package.json添加--coverage参数 (3) 单元测试文件命名 以spec.js结尾命名,spec是sepcification的缩写...踩坑点 1.触发事件 - 假设组件库使用的是iview中对提供的@change事件,但是当我们进行 wrapper.trigger('change')时,是触发不了的。

    4.5K40

    如何在gitlab上发布npm包

    ,并且在jest中配置关于jest的配置信息。...为了实现这一点,我们在项目的根目录中创建一个名为.npmrc的配置文件。 ❝.npmrc文件是NPM项目中的配置文件,用于定义NPM在运行命令时的行为设置。...❝这样做是为了在使用semantic-release发布npm包时,确保发布的包中包含了经过构建后的代码而不是源代码。...当我们看到401 Unauthorized的错误是不是感觉到似曾相识。我们在利用CI/CD发布包时也遇到过。因为我们在新建项目的时候,就是选择了私有。...项目验证 既然,我们已经在本地安装了发布在gitlab的私包。虽然在node_modules中能看到包信息,但是我们还是不放心。 所以,我们在demo_test中新增了以index.js,内容如下。

    56010

    干货 | 携程租车React Native单元测试实践

    : ['/node_modules/react'], collectCoverage: true, collectCoverageFrom: [//生成测试报告时需覆盖测试的文件...比如之前提到的初始化文件jest.setup.js中,我们会mock一些对象: jest.useFakeTimers(); //mock时间 jest.mock('....husky在package.json中的配置: "scripts": {, "test": "jest --forceExit --silent" }, "devDependencies": {...,在携程的持续集成流程中再接入sonar, 可以查看完整的单元测试报告。...; 通过单元测试,给项目带来了不少好处: 通过单元测试可以确保代码得到预期的结果,在测试环境中就发现bug; 当修改依赖的组件时,能在测试中发现被影响组件的错误,这样可以支持我们更好的重构代码,有利于项目的长期迭代

    6.1K30

    【干货分享】微信小程序单元测试攻略

    总体来说,单元测试有以下一些好处: 1,及早发现代码错误,提高代码质量和可维护性。 2,代码变更时可以快速进行检查。 然而要做好测试也有一定的困难: 1,花费时间长。...$ npm i --save-dev jest 2.2.2 在package.json中,添加测试相关命令 {sd ....../', ], // 是否开启自动mock测试文件中导入的文件 automock: false, testRunner: 'jasmine2', // 测试文件执行前会先执行该文件,用来给Jest...其实是在mock的时候,就将这个方法放在cache中,当其他地方要import方法时,会先查看cache中有没有该方法,如果我们有mock了,他就使用mock的方法了。.../app.data.json");simulate.extendApp(extendAppData); 扩展getCurrentPages()的返回结果,当组件中需要使用页面栈数据时,可通过该方式进行mock

    2.8K40
    领券