草庐IT

javascript - 测试对象是否具有多个属性

我在检查这个对象时遇到问题,我需要做些什么来链接多个.to.have.property语句吗?我相信我只是将上一个.to.have.property的结果返回到下一个。expect(shopify.formatRequestOptions("shop")).to.have.property('url',"https://"+settings.shop+"/admin/shop.json").to.have.property('method',"GET").to.have.deep.property('headers.X-Shopify-Access-Token',settings.ac

javascript - 如何测试 Node 数据分块功能

我正在开发一个使用Node的项目,我们正在努力实现100%的功能覆盖。这是我们唯一没有测试过的函数,它在另一个函数中。varuserInput="";req.on("data",function(data){userInput+=data;});你如何着手测试这个功能?我们尝试从另一个文件导出函数,但没有成功。我应该提一下,我们正在使用磁带作为测试模块。 最佳答案 您需要根据请求触发此“数据”事件。这样这个回调就会被调用。例如,假设您的测试中有req,您可以做类似的事情(这是Mocha):req.trigger('data','sa

javascript - 如何将 Jest 中的 '__mocks__' 文件夹移动到/test?

我已经开始在Jest中使用mocks来测试我的NodeJS应用程序并且它们工作得很好,但是将__mocks__文件夹移动到/test文件夹会更有意义所以与测试相关的所有内容都在那里,而不是在/src中混合文件。这在某种程度上是可能的吗?我在Jest文档中的任何地方都找不到它。 最佳答案 jest.mock('../src/service',()=>require('./__mocks__/request'));这对我有用 关于javascript-如何将Jest中的'__mocks__'

javascript - 从命令行伪造 socket.io 连接

一旦您设置了故障复杂的socket.io+node.js设置,您如何在不使用浏览器的情况下进行一些测试?您知道是否可以创建使用socket.io与“主”node.js服务器通信的node.js客户端吗?(正在与浏览器交谈的那个)。当然,浏览器中的逻辑将被复​​制到那些客户端中,但仍然... 最佳答案 现在有LearnBoost的官方socket.io-clientnpm-g安装socket.io-client我还使用phantomjsheadless浏览器做了一些测试 关于javascr

javascript - Jasmine - 如何模拟 history.pushState 和假事件发射?

在history.pushState的帮助下,我正在编写一个支持浏览器导航的库并且还捕获了popstateevent在浏览器中进行导航时进行通信。因为我正在尝试写Jasmine测试这个库,我想知道如何模拟history.pushState并且还伪造了popstate的发射来自window的信号?以下代码片段应该可以说明问题:库代码:varlib=(function(){functionnavigate(path){history.pushState(null,null,path);}functiononPopState(event){if(lib.callback){lib.callb

javascript - 在 Mocha 浏览器中使用多个记者?

是否可以在浏览器版本的Mocha中使用多个记者?我正在创建一个将测试结果发送到我的服务器的记者,但我仍然想使用Mocha默认的默认HTML记者。现在我正在修改源代码以使其正常工作。我知道Mocha也为其记者使用commonJS。 最佳答案 mocha.run返回一个运行器对象,它发出有用的事件,例如'testend'和'suiteend'。因此,我们可以这样做:mocha.run().on('testend',function(test){if('passed'===test.state){console.log('passed!'

javascript - 期望失败 : "Expected [ ] to be empty array."

这是失败的测试:describe("Checkingerrors",function(){varscope={};beforeEach(function(){browser.get("/#endpoint");browser.waitForAngular();scope.page=newMyPage();});it("shouldnotshowanyerrors",function(){expect(scope.page.errors).toBeEmptyArray();});});其中MyPage是一个页面对象:varMyPage=function(){this.errors=ele

javascript - 用守夜人看网络

我正在使用nightwatch来测试应用程序的前端。我正在测试某些按钮是否可点击。nightwatch是否可以知道是否有网络点击请求,或更一般地说,观看网络。 最佳答案 是的,您可以使用https://www.npmjs.com/package/nightwatch-xhr为了监视来自Nightwatch.js的Ajax请求。(我是维护者之一) 关于javascript-用守夜人看网络,我们在StackOverflow上找到一个类似的问题: https://s

javascript - Protractor - 无法运行 Protractor 测试

我的测试抛出以下错误。它以前运行良好。请指教。我的配置文件:exports.config={seleniumAddress:'http://localhost:4444/wd/hub',allScriptsTimeout:20000,baseUrl:'https://mylink/#/',//frameworkstouseframeworks:['jasmine'],//Capabilitiestobepassedtothewebdriverinstance.multiCapabilities:[{'browserName':'chrome'//},{//'browserName':'

javascript - enzyme 浅渲染正在渲染子组件

我正在尝试浅渲染组件以执行一些基本的单元测试。我正在执行此操作的组件有两个子组件,每个子组件根据父组件渲染多次。当查询浅渲染组件时,子元素也被完全渲染,这意味着子元素的HTML元素也可以访问。我正在使用Karma、Browserify、Jasmine和Enzyme,如果需要,可以发布每个的配置。以前有人见过类似的行为吗? 最佳答案 这是正确的行为。与enzyme的其他渲染方法不同的是,它不调用任何生命周期方法,也不转换为真正的html,但它会渲染它的所有子项和子项的子项等等。 关于jav