chai相关内容

我应该使用beforeEach()进行安装并为每个测试设置道具还是在每个测试开始时安装特定的组件? (使用酶,柴和摩卡咖啡)

我最近开始编程.我在一个使用React进行编程的团队中,并且正在使用Enzyme,Mocha和Chai进行单元测试.请参阅下面的软件包版本. 在测试具有多个需要不同prop值的用例的组件时,我应该在每个测试中使用beforeEach()然后使用setProps(),还是应该在以下位置执行显式mount()(或shallow()):每次测试的开始?有关系吗? 例如,我可以在没有任何道具的 ..
发布时间:2020-05-10 01:05:08 其他开发

断言失败后的Mocha流控制

我认为mocha会在断言失败后停止运行当前的测试用例,像这样 it('test', function(done) { a.should.equal(b); //if a is not equal to be, won't go here //do something done(); } 断言失败后,我需要继续做某件事,我尝试使用try ... catch, ..
发布时间:2020-05-10 01:04:58 前端开发

在命令行上运行Mocha并包含文件

我正在尝试使用Mocha设置一些JS单元测试,并且理想情况下,我想通过与网页相反的命令行来运行它. ( TL:DR; 在底部) 首先,我做了一些胡扯测试,以确认Array是否按预期工作,这是我直接从Mocha的页面 http://visionmedia.github.io/mocha/#getting-started ,它按预期工作. 在这一点上,我接着创建了一个新文件/src/cow ..
发布时间:2020-05-10 01:03:12 前端开发

在Mocha中测试异步抛出

我有一段代码,尝试在连接断开时重新连接到Redis.如果无法重新建立连接,则会引发错误.我正在尝试测试引发错误的代码块,但无法使用mocha和chai编写成功的测试. 我的测试如下: it('throws an error when a connection can\'t be established', function (done) { var c = re ..
发布时间:2020-05-10 01:03:10 其他开发

Cypress.io:无论如何要测试特定的滚动量?

想知道是否有某种方法可以在Cypress.io的一定范围内测试滚动量. 更具体地 从页面顶部开始,按下按钮 页面向下滚动到特定高度 测试滚动高度在一定范围内是否正确 我的尝试 我认为最好的方法是进行测试,然后进行测试,以确保当前的div不在手机屏幕的可见区域内.然后向下滚动,使其确实可见. cy.get('#angular-projects').should('not. ..
发布时间:2020-05-10 01:01:56 前端开发

柴摩卡:确定应断言

我正在使用mocha和chai作为断言. 我在规范中有几个主张: Exp1.should.be.true Exp2.should.be.true Exp3.should.be.true 如果其中之一失败,摩卡将写出"expected false is true".有没有办法识别它们? 使用expect我可以做到: expect(Exp1, 'Exp1').to.be t ..
发布时间:2020-05-10 01:01:42 其他开发

格式化chai.expect错误中的对象

当测试失败时,我要使用expect(x).to.deep.equal(y)比较两个对象,我想在浏览器测试报告中查看实际值.相反,我看到这样的东西: AssertionError: expected { Object (x, y, ...) } to deeply equal { Object (x, y, ...) } 因此它并没有真正显示出有用的信息. 是否可以自定义chai.j ..
发布时间:2020-05-10 01:01:35 其他开发

Chai-As-Promised正在吃断言错误

我正在使用承诺的价格 + 摩卡来编写一些 selenium-webdriver 测试.由于webdriver广泛使用 promises ,我想如果我将chai-as-Promised用于这些类型的测试会更好. 问题是,当测试失败时,mocha无法正确捕获错误,并且只是失败而没有输出任何内容. 示例代码: it 'tests log', (next) -> log = @cli ..
发布时间:2020-05-10 01:01:21 其他开发

如何使Istanbul生成我所有源代码的覆盖范围?

目前,伊斯坦布尔只为测试中使用的文件生成覆盖率,这是可以的,但似乎无法达到覆盖率的目的. 我没有Istanbul配置,正在使用以下脚本字符串通过npm test调用它: $ istanbul cover _mocha -- -R dot --check-leaks --recursive test/ 有没有一种方法可以覆盖我所有的源代码? 解决方案 找到了答案,我认为我很 ..
发布时间:2020-05-10 01:01:09 其他开发

节点模块导出返回未定义

我正在尝试创建一个节点模块来获取一些帖子,但是却收到未定义的错误. Index.js var request = require('request'); function getPosts() { var options = { url: 'https://myapi.com/posts.json', headers: { 'User-Agent': ..
发布时间:2020-05-10 01:00:59 其他开发

如何为MQTT客户端编写测试?

我是MQTT和测试的新手,不确定两者如何配合工作. 我正在使用 mqtt.js ,并希望编写一些基本测试.我应该如何构造它们?更具体地说,我需要模拟MQTT代理,还是可以建立实时连接?该连接应该连接到HiveMQ等测试服务,还是连接到我自己设置的代理? 我的设置: 我正在构建一个聊天应用程序. 3个Docker容器. 1个经纪人(使用 mosquitto ,2个客户端. ..
发布时间:2020-05-10 01:00:47 其他开发

Hubot单元测试未收到响应

我正在尝试为我的Hubot代码设置一个简单的单元测试,但是我没有收到回复.我将其简化为: test.coffee: Helper = require('hubot-test-helper') chai = require 'chai' expect = chai.expect helper = new Helper('../hubot-scripts/something.coffee' ..
发布时间:2020-05-10 01:00:14 其他开发

TypeScript:仅在单元测试中找不到模块的声明文件

我正在将TypeScript与Windows 10上的Visual Studio Code一起使用来开发NPM模块.我将mocha/chai与nyc(istanbul)结合使用进行单元测试和代码覆盖. 对于我的某些测试,我想使用chai-bytes来更轻松地比较缓冲区.不幸的是,在chai-bytes模块中没有类型定义文件,在@ types/chai-bytes处也没有定义. 因此,我 ..
发布时间:2020-05-10 01:00:11 其他开发

使用嘲讽和sinon模拟类方法

我正在学习使用带有sinon的节点模块模拟进行单元测试. 仅使用嘲笑和普通类,就可以成功注入模拟.但是,我想注入一个sinon存根而不是普通的类,但是我对此有很多麻烦. 我要模拟的课程: function LdapAuth(options) {} // The function that I want to mock. LdapAuth.prototype.authentica ..
发布时间:2020-05-10 00:59:43 其他开发