Tag: 摩卡

节点Mock-fs – / path / to / file不被模拟

在Mochaunit testing我的吞噬应用程序,并使用mock-fs回购模拟fs 。 在我的应用程序代码中,我有: console.log('sssssssssssssss ' + srcFile); srcFile = fs.statSync(srcFile).mtime; 其中显示了sssssssssssssss /home/one/foo 在我的testing中,我有: mock({ home: { one: { foo: mock.file({ content: 'nothing', mtime: new Date(Date.now()) }) }, }, bar: mock.file({ content: 'nothing', mtime: new Date(1,1) }) }); 但是当我运行testing时Error: ENOENT, no such file or directory '/home/one/foo'出现Error: ENOENT, no such file or directory '/home/one/foo' 。 我在做什么错在/home/one/foo没有被模拟?

使用Appium,Seleniumnetworking驱动程序,Node js,Mocha等select不在原生android应用程序的屏幕上的UI元素

我正在testing一个原生的Android应用程序,并需要点击屏幕底部的button。 我已经看到了很多使用Java和Javascript的例子,但我使用Node.js,似乎没有任何工作。 我对这个东西很新,在这么简单的事情上浪费了太多的时间。 例如,点击一个屏幕上的元素,这个工作: it("Select Button Test",function(){ return driver .setImplicitWaitTimeout(timeoutWait) .elementByXPath('//android.widget.TextView[@text=\'My Button\']').click(); }); 此外,完整的xpath适用于屏幕上的元素 – 在这种情况下: var myButton ='//android.widget.LinearLayout[1]/android.widget.FrameLayout[1]/android.view.View[1]/android.widget.FrameLayout[1]/android.widget.RelativeLayout[1]/android.widget.ScrollView[1]/android.widget.LinearLayout[1]/android.widget.TableLayout[1]/android.widget.TableRow[10]'); it("Select Button Test",function(){ return driver .setImplicitWaitTimeout(timeoutWait) .elementByXPath(myButton).click(); }); 通过在testing运行时滚动到该button,并在appium检查器中启动屏幕,我find了该button的完整xpath。 我已经尝试了各种滚动,触摸,并从networking驱动器文档的刷卡方法,但没有什么是显而易见的,我已经离开了蓬松… 那么如何访问不在屏幕上的button呢? 我敢肯定它的一些世俗的细节。 谢谢!

使用Visual Studio 2013debugging摩卡testing

我发现的大多数指南都有旧的和不可达的链接和例子。 我有一些摩卡testing,并试图用Visual Studio 2013进行debugging。目前我刚刚使用命令从命令行运行它们: mocha tests –require tests/helpers/chai.js –reporter spec 我见过的地方可以添加–debug-brk ,然后附加到进程。 我得到Debugger listening on port 5858但我没有看到附加窗口中的端口5858进程。 我错过了一些步骤? 我可以在NodeJS项目上debugging正常的nodejs代码(我有安装visual studio的nodejs工具) 谢谢

jsdom – 运行我的摩卡testing时没有定义选项

我正在使用节点JS工具的Visual Studio 2015年,我正在写我的JavaScript和jQuery的摩卡testing,在我的本地环境我使用业力和铬运行testing,一切工作正常,但由于某种原因,我想用jsdom能够运行节点js的testing,而不使用业力或浏览器,但其中一个jquery插件内部正在做一个选项(新选项)的实例和使用jsdom我得到的参考错误选项没有从业障定义我不'吨得到任何错误,错误似乎明显业力使用一个真正的浏览器的select是定义和jsdom不是一个真正的浏览器,有什么办法使我的testing工作? 用jsdomdebuggingtesting我发现HTMLOptionElement被附加到由jsdom创build的窗口对象,但也许接口没有完全实现,这就是为什么新的选项不工作。 这是testing文件的代码 if (global.window) { window.jQuery = window.$ = require('jquery'); } else { require('jsdom-global')(); global.jQuery = global.$ = require("jquery"); } var chai = require('chai'); var assert = chai.assert; var expect = chai.expect; var should = chai.should(); chai.use(require('chai-jquery')); chai.use(require('chai-spies')); var sourceFile = require('path_to_js_file'); describe('Test', () => { it('this is not passing', () => […]

unit testingnode.js模拟文件系统打开错误

我想提高我的代码覆盖这个function: function openArchiveFilePath(zipFilepath, next) { var fullyQualifiedZipFilepath = path.resolve(zipFilepath); fs.open(zipFilepath, 'r', openFile); function openFile(err, fd) { if (err) { if (err.code === FS_ERROR_CODE.FILE_NOT_FOUND_ERROR_CODE) { formatErrorMessageAndLog(err, "photo archive file (%s) doesn't exist.", fullyQualifiedZipFilepath); return next(err); } if (err.code === FS_ERROR_CODE.FILE_PERMISSIONS_ERROR_CODE) { formatErrorMessageAndLog(err, "photo archive file (%s) cannot be read, insufficient permissions.", fullyQualifiedZipFilepath); return next(err); } formatErrorMessageAndLog(err, […]

在nodejs中运行mochatesting用例时出现内存不足exception

对于unit testing,我正在使用mocha ,最近在运行testing用例out of memory exception我正在观察out of memory exception — Last few GCs —> 548213 ms: Scavenge 1365.3 (1457.7) -> 1365.3 (1457.7) MB, 1.2 / 0 ms (+ 1.5 ms in 2 steps since last GC) [allocation failure] [incremental marking delaying mark-sweep]. 549442 ms: Mark-sweep 1365.3 (1457.7) -> 1364.3 (1457.7) MB, 1228.6 / 0 ms […]

如何在使用mocha / chai进行unit testing时覆盖护照authentication?

我尝试设置app.request.isAuthenticated = function(){return true;}在另一个答案build议,但这不适合我。 这是在我想要validation的路由上用作中间件的身份validation方法: const authenticate = [passport.authenticate(['bearer'], {session: false}), (req, res, next) => { if (req.isAuthenticated()) { return next(null); } else { return res.status(401).send('Unauthorized'); } }]; 典型的安全调用看起来像这样 router.get('/securedInfo', authenticate, function(req,res,next){ // do stuff }); 我也不想在这个testing中进行身份validation,因为我想单独testing我的RESTful APItesting和我的身份validation逻辑(因为后者很可能随时间而改变)。

摩卡REST API请求

我正在编写testing框架来testing用node.js写成的服务器。 样本testing案例: 调用API“GET / authenticate”并存储“Token” 示例:curl -k -X GET https://.org:8000 / vxapi / 1.0 / authenticate -H“用户名:root”-H“密码:root123” { “令牌”: “eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJhOWRmZDI5ZjE3YzQiLCJpYXQiOjE0ODcwNzgwMTB9.Nitd5DnWTCbSw8enXVaGdGRYWuYQx7ojRaYESnsTuZY”, “状态”: “OK”} 然后将“Token”作为头部传递给其他请求,如“GET / volume” 目前,我正在编写脚本,以便至less进行身份validation并生成令牌并作为响应显示。 它的错误为“GET / user [TypeError:无法读取未定义的属性状态]”。 只是想确认头是否是问题或与“https”的问题。 var should = require("should") var request = require("supertest"); var url = "https://.org:8000/vxapi/1.0" describe('GET /user', function() { it('respond with json', function(done) { request(url) .get('/authenticate') .set('username', […]

找不到模块“meteor”

我想从命令行用摩卡框架testingmeteor应用程序: 摩卡** / * / * spec.js – 编译器js:babel-core / register 所有的testing工作正常,但是当testing文件开始时: import { Meteor } from 'meteor/meteor'; import { Factory } from 'meteor/dburles:factory'; 导入meteor等。我收到错误: 错误:无法find模块“meteor/meteor” 所以我的问题是: 我怎样才能testing一个meteor应用程序没有命令“meteortesting”? 我如何引导摩卡运行meteortesting? 谢谢。

使用dynamodb在本地testingnodejs aws lambda

上下文: serverless framework , lambda , nodejs , dynamodb-local , serverless-mocha-plugin 。 我想用一个命令启动本地testing。 为了实现这一点,我想了一下做一个run-tests shell脚本。 但是我想我没有按照正确的方式去做。 手动启动testing时,在2个控制台中,我启动dynamodb local: sls dynamodb start 然后,当准备好时,在另一个控制台中,我运行testing: sls invoke test -f loadDepartmentsOfFrance 鉴于sls dynamodb start是asynchronous的,它可能需要更多或更less的时间, 是否有可能将这些命令组合在一个shell脚本中? 我正在尝试 sls dynamodb start & sls invoke test -f loadDepartmentsOfFrance 但第二个命令并没有等待第一个正确启动。 没有& ,第二个命令是永远不会到达的。 即使我没有到达那里,我怎样才能停止在同一脚本dynamodb local的dynamodb local ? 没有sls dynamodb stop命令。 随意build议使用dynamodb,S3,endpoints和sqs服务的本地lambdatesting方法。