我正在尝试模拟服务请求超时以测试节点请求重试模块,该模块允许您指定尝试重试和重试延迟的请求最大值#。为了测试这一点,我需要使用nock来模拟第一个X个请求的超时,然后成功地响应相同的请求。我知道有'socketDelay()‘方法来延迟连接,但是如何在第一个延迟响应之后指定一个成功的响应?
我有这个,它模拟对第一个请求的超时。
//delays the first request's response by 1500
nock(urlHost)
.post('/' + uriPath)
.socketDelay(1500)
.rep
在我的测试代码中,当我检查断言所有nocks都已被调用时,如果没有调用nock (因为默认的错误消息是无用的),我有一个半有用的错误消息来转储出:
try {
assertions(data, result);
if (assertNock !== null) {
// Expect that all mocked calls were made
if (nock.isDone() !== !!assertNock) {
console.error('One or more of your Nock matchers was never called
我试图掌握工具,以便模拟执行调用的代码中的请求和响应。我使用npm请求作为一个简单的HTTP客户机来请求后端REST、希望库的Chai和运行我的测试的Mocha。下面是用于测试的代码:
var nock = require('nock');
var storyController = require('../modules/storyController');
var getIssueResponse = {
//JSON object that we expect from the API response.
}
it('It sh
我有一个记录器中间件,它显示即将被调度的操作和下一个状态。
我正在为我的操作编写测试,并在mock store中分派操作。这些成功分派,但是模拟存储状态没有被更新(如前面提到的记录器所示)。
请注意,我使用的是redux-mock-store。
//authActionTest.js
it('creates LOGIN_SUCCESS when successful login has occured', ()=>{
//array of expected actions to be dispatched.
const expectedActions = [
{
我正在尝试在redux应用程序中测试api调用。代码基本上遵循redux文档的异步操作Creator部分中概述的模式:
它的要点是使用redux-模拟存储来记录和断言触发的任何操作。
这是整个测试过程,使用nock模拟api调用:
import React from 'React'
import ReactDOM from 'react-dom'
import expect from 'expect';
import expectJSX from 'expect-jsx';
import TestUtils from '
我有验证response.connection.remoteAddress不是本地IP的应用程序代码,但在使用nock时,response.connection只是一个没有remoteAddress属性的EventEmitter实例。如何修改nock创建的响应? 更新:我最终改用了isPrivate(): it('GET returns a 403 status code when example.com resolved to internal ip', function(done){
const scope = nock('https://example.
我知道nock允许为相同的端点排队模拟,就像我在这里所做的那样: nock('https://example.test')
.get('/')
.delayConnection(400)
.reply(200, MockApiResponses.proccessing) //response on first get
.get('/')
.delayConnection(150)
.reply(200, MockApiResponses.goodRetrieve) //response on second 我想模拟一个场景,我的第一个回复是在前