- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
目前,我正在使用 SuperTest 来测试 API,对于每个请求,我需要从管理员用户获取访问 token ,因此我创建了此请求(工作正常):
authenticate.js
const request = require('supertest');
var storeAccessToken;
describe ('POST /Authenticate', function() {
it ('Should return access token', function(done) {
request('http://myendpoint.com')
.post('/TokenAuth/Authenticate')
.send({
"username": "admin",
"password": "admin"})
.end(function(err, res) {
if (err) return done(err);
storeAccessToken = res.body.result.accessToken;
done();
});
});
});
现在我已经存储了访问 token (变量storeAccessToken),我需要在另一个的before()中调用相同的代码文件。
getKpiRequest.js
const request = require('supertest');
var storeAccessToken;
describe ('GET /Kpi/Availables', function() {
before(function (done){
request('http://myendpoint.com')
.post('/TokenAuth/Authenticate')
.send({
"username": "admin",
"password": "admin"})
.end(function(err, res) {
if (err) return done(err);
storeAccessToken = res.body.result.accessToken;
assert.equal(res.status, 200);
done();
});
});
});
如何避免重复getKpiRequest.js文件中的代码?
最佳答案
您可以在另一个文件中定义身份验证函数,然后将其导入到测试文件中
// common.js
function authenticate() {
return request('http://myendpoint.com')
.post('/TokenAuth/Authenticate')
.send({
"username": "admin",
"password": "admin"})
.then((res) => {
assert.equal(res.status, 200);
return res.body.result.accessToken;
});
}
module.exports = {
authenticate
}
// authenticate.js
const request = require('supertest');
const authenticate = require('./common').authenticate;
var storeAccessToken;
describe ('POST /Authenticate', function() {
it ('Should return access token', function(done) {
authenticate().then((token) => {
storeAccessToken = token;
done();
}).catch(done);
});
});
// getKpiRequest.js
const request = require('supertest');
const authenticate = require('./common').authenticate;
var storeAccessToken;
describe ('GET /Kpi/Availables', function() {
before(function (done){
authenticate()
.then((token) {
storeAccessToken = token;
done();
}).catch(done);
});
});
保持函数通用,以便可以重用它
关于javascript - MochaJS - 在其他文件中重用 block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51833932/
目前,我正在使用 SuperTest 来测试 API,对于每个请求,我需要从管理员用户获取访问 token ,因此我创建了此请求(工作正常): authenticate.js const reques
我正在尝试使用 MochaJS 在 headless 浏览器中运行一些 UI 测试,但我似乎无法正确设置超时选项。 加载 MochaJS 后,我的浏览器中运行了以下内容: window.mocha.s
这个问题在这里已经有了答案: mocha pass variable to the next test (3 个答案) 关闭 7 年前。 我正在学习如何编写一个针对供应商的 REST API 的 N
我正在使用 NPM(未以任何方式连接到我的 Rails 应用程序)测试位于我的 Rails 应用程序(使用链轮)之上的 javascript。 一切正常 - 测试运行(使用 NPM)。 但是我如何告诉
在对 Node.js 应用进行单元测试时,我在使用 setTimeout 时遇到了 Mocha 和 ES6 问题。 Mocha 说测试通过了,但是当我输入其他内容(检查测试,确保其有效)时,它仍然说它
这个问题已经有答案了: Skip subsequent Mocha tests from spec if one fails (1 个回答) 已关闭 5 年前。 我正在使用 mochajs 运行一些测
我认为,mocha 在我的测试范围内无法识别 jQuery,因为它测试纯 JavaScript 没有问题。我试图在我的测试中在 .js 文件的开头要求 jQuery 的完整代码,尝试手动定义 $bef
我正在尝试使用 mochajs 运行一个简单的测试: var assert = require('assert'), ActionCreators = require('../src/comp
我正在尝试对 sailjs 进行端到端测试的变体系统使用mocha .我想做的是通过创建用户等操作来模拟操作程序流,然后对该用户执行其他操作。 我希望能够将我的测试分成单独的文件,这些文件按照与不同操
我正在为我的 nodeJS 应用程序编写一个测试,用于检查 sequelize 模型是否具有所有已定义的属性。 当我运行测试时,我收到有关未定义上下文的错误。 我正在使用以下库来帮助检查模型。 seq
我的 ExpressJS/NodeJS API 有一个广泛的 MochaJS 测试套件。测试套件包括创建对象和从数据库中删除相同的对象。 目前,我所有的回归测试都在我的开发环境中通过了。我们希望能够在
我已经尝试了 http://appium.io/slate/en/1.5.3/?javascript#ios 中列出的故障排除步骤, 但没有运气。 我运行我的测试: $ mocha sample.js
我是一名优秀的程序员,十分优秀!