相关疑难解决方法(0)

全球`之前'和`之前'为摩卡?

我现在正在使用mocha进行javascript单元测试.

我有几个测试文件,每个文件都有一个beforebeforeEach,但它们完全相同.

我如何提供全局beforebeforeEach所有这些(或其中一些)?

javascript unit-testing mocha.js

63
推荐指数
4
解决办法
5万
查看次数

如何测试使用JWT身份验证的Node API(使用用户登录获取令牌)

TL; DR - 测试使用JWT进行身份验证的Node API(Express)中的资源的方法是什么,只有授予用户名/密码登录权限的令牌?

我对测试很陌生,想得到一些建议.最终目标是拥有一个经过全面测试的API,然后开始学习如何将其连接到持续集成解决方案.

使用的技术

  • 我使用ExpressNode中编写了一个API .
  • Mongo是数据库.
  • 猫鼬用作ODM.
  • jsonwebtoken包用于创建/验证令牌.
  • Passport用于在路由上轻松添加用户身份验证作为Express中间件.

API信息

API具有各种资源 - 其具体细节对于此查询并不重要,但为了简单起见,我们只是假装它是无处不在的Todo应用程序.

保存在数据库中的每个单独资源都与一个用户相关联.

API使用JWT在各种资源端点上进行身份验证.令牌本身包含唯一的用户ID,该用户ID是针对Mongo数据库中的资源存储的.要获取令牌本身,需要用户首先注册(返回令牌),然后登录以获取新令牌.

假装代码.

我将简化下面的代码,而不是使用任何环境配置等...

app.js

var express = require('express');
var app = express();
var mongoose = require('mongoose');
var bodyParser = require('body-parser');
var passport = require('passport');

mongoose.connect('mongodb://localhost/somedatabasename');

app.set('port', process.env.PORT || 3000);
app.use(bodyParser.urlencoded({ extended: true }));
app.use(bodyParser.json());

app.use(passport.initialize());
// ... Passport JWT Strategy goes here - omitted for simplicity ...

var userRouter = require('./api/users/routes');
app.use('/users', userRouter);
var …
Run Code Online (Sandbox Code Playgroud)

testing api mocha.js node.js

14
推荐指数
1
解决办法
2400
查看次数

标签 统计

mocha.js ×2

api ×1

javascript ×1

node.js ×1

testing ×1

unit-testing ×1