Articles of 单元

unit testing查询数据库的方法

所以我创build了一个接受ID的函数,通过数据库从数据库内部查询数据库,根据不同的场景返回数据,然后我们返回数据。 我将如何unit testing这个function? 我会存根据我的存储库层查找方法返回数据,所以我不依赖于连接数据库?

将自定义login表单添加到hapi-auth-basic

我使用hapi-auth-basic来authentication用户。 我的问题是如何添加自定义login表单,而不是使用浏览器的基本forms。

摩卡没有显示所有的testing

我有一些摩卡unit testing,当我运行这些只有2/3的testing显示。 我正在使用斑点记者,并通过运行我的testing。 这是我的makefile: REPORTER = list TESTS = test/*.js test/**/*.js test/**/**/*.js REQUIRE = should test: @NODE_ENV=test NODE_PATH=./app/controllers ./node_modules/.bin/mocha \ –reporter $(REPORTER) \ –ui tdd \ –require $(REQUIRE) \ -G \ $(TESTS) test-ci: @NODE_ENV=ci NODE_PATH=./app/controllers ./node_modules/.bin/mocha \ –reporter $(REPORTER) \ –ui tdd \ –require $(REQUIRE) \ $(TESTS) start: NODE_PATH=./app/controllers NODE_ENV=development nodemon server.js .PHONY: test 和test/test.js […]

如何从Web框架中分离业务逻辑进行testing?

为了testingWeb应用程序,许多来源build议尽可能使您的业务逻辑免受Web框架的影响,以便可以在无需使用Web框架的情况下进行testing。 如何才能做到这一点? 如果我有一个注册页面,我需要validationHTTP POST数据(例如,确保出生date是一个date和必填字段给出),那么我需要将validation的数据持久化到数据库。 我不确定如何将与Web框架相关的部分从业务逻辑中分离出来,因为这是相当简单的function。 同样适用于login页面,帐户删除页面等 我认为web框架除了将HTTP数据传递给业务逻辑function之外,并不会做太多的工作,而业务逻辑function则会完成Web框架function在重构之前所做的一切(validation,持久化)。 所以我没有看到我正在获得什么。 例如它会变成 businessLogicRegister( request.data['email'], request.data['birthday'], request.data['username'] ); 有人可以举一些例子,例如像Express或Koa这样的基本的Node JS框架中的注册/login等基本function,以及将业务逻辑与Web框架分开的好方法吗? 以及这将如何帮助使代码更加unit testing?

伊斯坦布尔封面testing挂起,然后在60秒后中止

我正在使用伊斯坦布尔代码覆盖我创build的Web应用程序。 每当我运行npm run cover –color=always (运行: ../node_modules/babel-cli/bin/babel-node.js — node_modules/.bin/babel- istanbul cover test/index.js –report=cobertura –print=detail –x=dist/** ) 但terminal上没有任何东西出现在大约60秒后,当我得到这个错误: TAP version 13 # application server Aborted (core dumped) 但是,如果我在index.js文件的底部写了一些导致错误的东西(比如一个未定义的函数),它将会打印覆盖范围以及错误。 有什么想法可能是错的?

对所有testing子文件夹运行实验室testing

我在我的公司重构了一个后端,我尽可能地模块化了它。 我的结构可以被定义为由几个本地子模块和一个或两个主要模块(子模块)组成的monorepo。 我们来说明一下: 根 主要 的package.json 使用子模块的东西 使用子模块B的东西 testing 模块 submoduleA 的package.json 码 testing submoduleB 的package.json testing 正如你所看到的,每个模块都有它自己的testing, package.json和依赖关系。 一切工作完美无缺(例如,在模块的文件夹中运行npm test )。 我正在使用lab和code进行testing。 我想要做的就是去项目的根目录,运行npm test并运行所有子模块和主模块的所有testing。 基本上一次运行任何testing文件夹下的所有testing。 到目前为止,我发现的问题是: – 目前只有目标testing目录下的文件正在运行。 我甚至不知道如何一次运行所有的testing。 我的命令看起来像lab src/main/test –reporter console –threshold 100 –assert code 我现在正在做的是把所有的testing都放在同一个testing目录下,并对所有的东西做出相应的要求。 这是非常不方便的,因为使所有的testing脆弱../../../some/away/path要求和东西。 任何关于保持代码模块化的build议,并且能够一次运行所有的testing将是非常受欢迎的。 非常感谢你。 我一个星期前就问过hapijs知识库,所以如果你想回答的话也可以: https : //github.com/hapijs/discuss/issues/397

用mochatestingnode.js – Newbie

我已经开始在我的JS项目中实现TDD。 我为此目的实施了摩卡。 由于这些是我所做的第一步: 安装了node.js 为我的项目在全球和本地安装了摩卡。 写了package.json设置依赖关系。 写了makefile。 写了.gitignore以避免上传node_modules文件夹。 文件夹结构 项目 – js —- filetotest.js – test —- test.js 我想要做的就是运行命令make test,以便在testingfiletotest.js文件的test.js中运行testing。 我读了关于使用导出的node.js方法。 但有没有办法将文件包含在testing套件中? 我被困在这里,我认为我的怀疑更多是关于概念而不是科技的东西。 会很感激你的帮助。 澄清一下我想做什么: https : //nicolas.perriault.net/code/2013/testing-frontend-javascript-code-using-mocha-chai-and-sinon/ 我想通过命令行得到类似的结果。 非常感谢, 吉列尔莫

摩卡asynchronoustesting处理错误

我试图用摩卡创build一个testing用例,但是我的代码是asynchronous的。 这很好,我可以添加一个“完成”callback函数“它”,这将正常情况下完美的罚款。 但是当试图testing负面情况时,只会使testing失败。 我想做这样的事情,但asynchronous: someObject.someMethod(null).should.equal(false) 相反,我只能testing一个callback返回,而不是testing真正发生了什么(null是无效的): it('this should return false or an error', function(done) { someObject.someMethod(null, '', done); }); 我想写这样的东西: it('this should return false or an error', function(done) { someObject.someMethod(null, '', done).should.throw(); }); 但是这会导致这个错误: "TypeError: Cannot read property 'should' of undefined" 我也尝试使用期望和断言,但同样的规则适用。 任何线索? 谢谢 编辑#1: 我没有成功尝试: 使用true / false return (true); // ok retur (false); […]

有没有办法在node.js中启动exception或testing失败的debugging器?

我正在寻找的基本上是nosetest –pdb –pdb-failures 鼻子testing框架 nosetest –pdb –pdb-failures 。 我正在使用摩卡进行testing。 我想要做的就是运行testing mocha –break-on-exception –break-on-failure一旦遇到exception或断言失败就停止执行testing,将启动节点检查器 ,并允许我内省runninng代码。 这是可能的任何地方在node.js世界,任何库或testing框架?

摩卡没有运行testing目录中的所有testing

这是我的文件夹结构 src/ a.js b.js test/ a.spec.js b.spec.js 我试过跑步 ~/…/src $ mocha ~/…/src $ mocha test ~/…/src $ mocha test/ ~/…/src $ mocha ./test/ ~/…/src $ mocha ./test/*.js 但没有工作…我得到的只是一个testing文件运行,其余的被忽略。 文件说,(1)应该做的工作,但没有。