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

Mocha + Chai + Sinon stub- TypeError:无法读取未定义的属性'set‘

Mocha、Chai和Sinon stub是一些常用的JavaScript测试工具和库,用于编写和运行单元测试和集成测试。在使用这些工具时,有时会遇到"TypeError: 无法读取未定义的属性'set'"的错误。

这个错误通常是因为在测试代码中使用了未定义的属性"set"。可能的原因和解决方法如下:

  1. 错误的使用语法:检查测试代码中是否正确使用了"set"属性。确保该属性存在于正确的对象上,并且使用正确的语法进行访问。
  2. 引入错误的库或模块:检查测试代码中是否正确引入了Mocha、Chai和Sinon stub库。确保正确地安装和引入了这些库,并且版本兼容。
  3. 版本不兼容:如果使用的是较旧的版本,尝试升级到最新版本,以确保解决了可能存在的已知问题。
  4. 依赖关系问题:检查测试代码中是否存在其他依赖关系的问题。确保所有依赖的库和模块都正确安装,并且版本兼容。

总结起来,当遇到"TypeError: 无法读取未定义的属性'set'"错误时,需要仔细检查测试代码中的语法、库的引入、版本兼容性以及其他依赖关系,以确保代码正确运行。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

使用mocha编写node服务单元测试

在编写代码前我们需要来了解下mocha运行规则,下面是一份测试加法运算函数单测代码: import getResult from 'add.js' import { assert } from 'chai...chai断言库 mocha可以搭配你喜欢任何断言库,经常使用到chai断言库。 chai提供了多种风格语法去帮助我们判断函数执行结果。...调用了 exampleFunction 后,我们可以通过检查 getTime 方法 calledOnce 属性来判断 getTime 有没有被成功调用。...除了calledOnce 属性之外,spy还在监听函数上挂载了很多监控属性,读者可以自行打印出来看看。 stub stub可以看做是spy加强版,它不仅支持spy各种收集行为,还能控制函数行为。...本身是一个比较简单测试框架,在此基础上,我们使用一些npm包来加强我们测试过程: nyc: 提供全面的测试覆盖率 chai: 多种风格断言判断 sinon: 用于模拟或者替换难以测试代码 superTest

4K20
  • 为ES6配置JavaScript测试工具

    以下示例使用了Mocah和Chai,但原理同样适用于Jasmine。 基础 基本情况和测试非ES6代码时一样。...创建一个名为test/目录并创建一个包含以下内容名为test/arithmeticTest.js文件: const chai = require('chai').expect; describe(...避免在Sinon中使用箭头函数 与Mocha类似,在Sinon.js中使用箭头函数也可能导致问题。 问题出在sinon.test上。...当你测试中存在测试替身(test double)时使用它是个好主意,因为它会在测试结束时自动帮你释放被替身对象。但是由于它使用了this绑定,因此它无法在使用箭头函数时正常工作。...with a sandbox', () => { // 与sinon.test类似,这个stub会自动被清理 var stub = sandbox.stub(); }); Mocha自带Promise

    2.9K20

    Vue自动化测试

    vue官方推荐是使用karma,mochachai等。karma并不是一个测试框架,也不是一个断言库。它可以运行HTTP Server,运行HTML文件在你喜欢测试框架上。...不仅仅只是运行测试,还可以计算测试覆盖率。mocha是测试框架,专门实现各个单元划分测试。chai是典型断言库。...Karma兼容Jasmine,Mocha和QUnit,可以集成mocha,webpack等功能,成为以Karma为平台单元测试,官方选择mocha测试框架和chai断言库。...'], // 测试服务浏览器 frameworks: ['mocha', 'sinon-chai', 'phantomjs-shim'], // 测试框架 reporters: ['spec...it是对它需要完成某些功能描述,它里面是具体测试用例。在测试框架中,describe,it, expect和sinon都是全局方法。

    1.9K50

    也来扯扯 Vue 单元测试

    选择一个好用断言库 通常是 chai,有时候结合 sinon 一起使用。chai 是一个优秀库,里面的方法十分完善。网上相关教程更是不计其数,这也反映出它很受欢迎。...一个合适测试框架 -- Jest 这里只提到了 Jest,当然也是个人喜好而已,这也是自己最终决定方案。当然此前使用 karma + mocha + chai + chrome......我大致做了下对比,粗略总结如下: 优点 一站式解决方案 在使用 Jest 之前,我需要一个测试框架(mocha),需要一个测试运行器(karma),需要一个断言库(chai),需要一个用来做 spies.../stubs/mocks 工具(sinon 以及 sinon-chai 插件),一个用于测试浏览器环境(可以是 Chrome 浏览器,也可以用 PhantomJS)。...而在之前,我需要学习好几个插件用法,至少得知道 mocha 用处和原理吧 我得学会 karma 配置和命令,chai 各种断言方法……,经常得周旋于不同文档站之间,其实是件很烦也很低效事。

    1.8K30

    前端单元测试总结_javascript单元测试

    有测试用例做后盾,就可以大胆进行重构 2.前端相关单元测试技术 2.1 测试框架 目前,前端测试框架很多,像QUnit、jasmine、mocha、jest、intern等框架,这些框架各有特点,...development(BDD)风格测试框架,在业内较为流行,功能很全面,自带asssert、mock功能 mocha: node社区大神tj作品,可以在node和browser端使用,具有很强灵活性...(assert)、BDD(expect、should)两个风格断言库 var chai = require('chai'); var assert = chai.assert; // typef...sinon.js: 目前使用最多mock库,将其分为spies、stub、fake XMLHttpRequest、Fake server、Fake time几种,根据不同场景进行选择。...mock函数:创建一个新函数,用这个函数来取代原来函数,同时在这个新函数上添加一些额外属性,例如called、calledWithArguments等信息 function describe (

    1.5K20

    大前端自动化工厂(5)—— 基于Karma+Mocha+Chai单元测试和接口测试

    当然总有一天,你会发现测试价值远不止这样。它对大型项目提供可靠性保障是人力无法比拟。 前端很流行这样一句话:如果你觉得单元测试没什么用,只能说明你做项目不够大。 二....2.2 Mocha Mocha是前端自动化测试框架,测试框架需要解决兼容不同风格断言库,测试用例分组,同步异步测试架构,生命周期钩子等框架级能力。...使用示例: expect(bar).to.not.exist;//断言变量bar不存在 expect(data).to.have.ownProperty('length');//断言data有length属性...使用Webpack + Karma + Mocha + Chai进行自动化测试(单元测试+代码覆盖率)方法可以查看《webpack4.0各个击破(9)——Karma篇》。 四....= function(config) { config.set({ files: [ 'test/apis/apis.js' ],

    1.3K20

    来自1000多个项目的10大JavaScript错误浅析

    在Chrome里读取未定义对象属性或调用未定义对象方法时就会发生这个错误,在Chrome开发者控制台可以很容易地重现这个错误。...TypeError: ’undefined’ is not an object 在Safari里读取未定义对象属性或调用未定义对象方法时就会发生这个错误,在Safari开发者控制台可以很容易地重现这个错误...TypeError: null is not an object 在Safari里读取空(null)对象属性或调用空对象方法时就会发生这个错误,在Safari开发者控制台可以很容易地重现这个错误。...TypeError: Object doesn’t support property 在IE里读取未定义对象属性或调用未定义对象方法时就会发生这个错误,在IE开发者控制台可以很容易地重现这个错误。...Uncaught TypeError: Cannot set property 我们无法对undefined变量进行赋值或读取操作,否则的话会抛出“Uncaught TypeError: cannot

    6.2K80

    JavaScript单元测试利器Jest+mocha+chai

    一:mocha介绍mocha是一款功能丰富javascript单元测试框架,它既可以运行在nodejs环境中,也可以运行在浏览器环境中。...mocha可以良好支持javascript异步单元测试。 mocha会串行地执行我们编写测试用例,可以在将未捕获异常指向对应用例同时,保证输出灵活准确测试结果报告。...:npm install –g mocha安装chai:npm i –g chai安装istanbul:npm install -g istanbul环境配置完事儿3.1:mocha+chai实例演练我们先来个简单小例子哈...当然,这有个前提,就是module.exports本身不具备任何属性和方法。如果,module.exports已经具备一些属性和方法,那么exports收集来信息将被忽略。...参考文档: mocha官网:https://mochajs.bootcss.com/ chai官网:https://www.chaijs.com/ istanbul官网:https://istanbul.js.org

    58920

    小程序测试方案初探

    工具准备 node puppeteer wept mocha chai 介绍 node 这个应该不用多做介绍了,不过这次demo中要求node版本应该大于7.6.0,因为puppeteer要求最低版本是...puppeteer可以对页面进行截图保存为图片或者PDF,解决爬虫无法实现一些操作(异步加载页面内容) 。...chai Chai是一个BDD/TDD模式断言库,在node和浏览器环境都能运行,API通俗易懂,断言类型和方式丰富,搭配mocha,江湖人戏称为”抹茶“ 配置环境 npm i -g wept...npm i —save-dev puppeteer mocha chai 在安装puppeteer有可能会出现以下报错 ERROR: Failed to download Chromium r508693...,所以这里需要获取页面所有的iframe const frames = await page.frames(); //根据iframename属性来获取正确iframe

    8.5K30

    JavaScrip最容易犯十大错误及其避免方法()

    Uncaught TypeError: Cannot read property 如果你是一个javascript开发者,你肯定看到过此错误 读取属性或调用方法对象未定义 这可能由于许多原因而发生,...反过来,这意味着ItemList将项目定义为未定义,并且您在控制台中收到错误 - “Uncaught TypeError无法读取未定义属性’map’”。 这很容易解决。...TypeError: Object doesn’t support property 当您调用未定义方法时,这是在IE中发生错误。...Uncaught TypeError: Cannot set property 当我们尝试访问未定义变量时,它总是返回undefined,我们无法获取或设置undefined任何属性。...在这种情况下,应用程序将抛出“Uncaught TypeError无法设置未定义属性”。 10.

    16710

    分享7个专业级JavaScript测试库,提高你工作效率

    在这篇文章中,我将向大家介绍七个优秀JavaScript测试库,包括Jest、Sinon、Detox、Cucumber、Stryker、TestDouble和Mockttp。...2、Sinon 这是一个独立库,用于在JavaScript测试中创建测试替身(侦查、桩和模拟)。它通过提供工具来验证函数调用、控制行为等,帮助你编写隔离测试。...https://github.com/sinonjs/sinon 3、Detox 如果你想对你移动应用进行测试,这将是一个非常好资源。...// stryker.conf.js module.exports = function(config){ config.set({ mutator: "javascript", packageManager...; }); }); 这些示例使用了MochaChai和Superagent,但并非必须使用这些:Mockttp可以与任何可以处理promise测试工具配合使用,可以模拟来自任何库、工具或设备请求

    30320

    webpack4.0各个击破(9)—— karma篇

    对于Karma+Mocha+Chai及其他自动化测试相关工具的话题将在《大前端自动化工厂》系列博文中讲述,本篇主要介绍karma-webpack连接件,它从工具实现层面上将自动化测试与自动化构建联系在了一起...Mocha 测试框架,提供兼容浏览器和Node环境单元测试能力,可使用karma-mocha集成进Karma中。...Chai 断言库,支持should,expect,assert不同类型断言测试函数,可使用karma-chai集成进Karma中。 大部分单元测试都是基于上述三个库联合使用而展开。...单元测试报告 单元测试信息无法输出问题,可以显式引用插件karma-spec-reporter或karma-mocha-reporter并进行基本配置即可。...配置参考 笔者提供了针对webpack4.0 + karma自动化测试配置示例,放在了Webpack4-Karma-Mocha-Chai-Demo,有需要小伙伴可以自行查看,如果对你有帮助,不要忘记给个

    1.2K20
    领券