Articles of nock

如何返回对象而不是string与诺克反应?

当我使用nock存根请求时,即使使用'Content-Type': 'application/json'也会返回String结果而不是Object 'Content-Type': 'application/json' : var response = { success: true, statusCode: 200, body: { "status": "OK", "id": "05056b27b82", } }; Test.BuildRequest(); Test.SendRequest(done); nock('https://someapi.com') // also tried // .defaultReplyHeaders({ // 'Content-Type': 'application/json', // 'Accept': 'application/json' // }) .post('/order') .reply(200, response.body, 'Content-Type': 'application/json', 'Accept': 'application/json'); 检查: console.log(put.response.body); console.log(put.response.body.id); 输出: {"status":"OK","id":"05056b27b82"} undefined 在代码中,我使用request模块返回Object与相同的数据。 我也试过sinon (不适用于我)和fakeweb但得到了同样的问题。 我的代码 ,我试图testing: […]

在Reduxtesting中,Nock不拦截API调用

我试图在一个REDX应用程序中testing一个API调用。 该代码非常符合redux文档的Async Action Creators部分中概述的模式: http://redux.js.org/docs/recipes/WritingTests.html 它的要点是,你使用减less模拟商店logging和断言任何触发的行动。 这是整个testing,用nock来模拟api调用: import React from 'React' import ReactDOM from 'react-dom' import expect from 'expect'; import expectJSX from 'expect-jsx'; import TestUtils from 'react-addons-test-utils' import configureMockStore from 'redux-mock-store' import thunk from 'redux-thunk' import nock from 'nock' expect.extend(expectJSX); import * as types from '../../constants/Actions' describe('Async Search Actions', () => { const thunkMiddleware = […]

如何用Nock请求testing错误?

我想在请求返回中testing错误。 我在testing中使用诺克,我怎么能强迫诺克挑起一个错误? 我想要达到100%的testing覆盖率,并且需要为此testingerr分支 request('/foo', function(err, res) { if(err) console.log('boom!'); }); 切勿进入if er分支。 即使命中错误是一个有效的回应,我的诺克线testing看起来像这样 nock('http://localhost:3000').get('/foo').reply(400); 编辑:多谢一些意见: 我试图嘲笑请求中的错误。 从节点手册: https : //nodejs.org/api/http.html#http_http_request_options_callback 如果在请求过程中遇到任何错误(包括DNSparsing,TCP级错误或实际的HTTPparsing错误),则“错误”事件是在返回的请求对象上发射 错误代码(例如4xx)不会定义errvariables。 我试图嘲笑这一点,无论错误,定义errvariables和评估为真

与Sinon一起testingaxios调用,还有redux和Karma

你好在testing的redux文档中,他们有这个例子来testingAPI调用: import configureMockStore from 'redux-mock-store' import thunk from 'redux-thunk' import * as actions from '../../actions/counter' import * as types from '../../constants/ActionTypes' import nock from 'nock' const middlewares = [ thunk ] const mockStore = configureMockStore(middlewares) describe('async actions', () => { afterEach(() => { nock.cleanAll() }) it('creates FETCH_TODOS_SUCCESS when fetching todos has been done', (done) => […]

superagent和nock怎么能一起工作?

在node.js中,我很难使superagent和nock一起工作。 如果我使用请求,而不是superagent,它完美的作品。 这里是一个简单的例子,superagent不报告模拟的数据: var agent = require('superagent'); var nock = require('nock'); nock('http://thefabric.com') .get('/testapi.html') .reply(200, {yes: 'it works !'}); agent .get('http://thefabric.com/testapi.html') .end(function(res){ console.log(res.text); }); res对象没有“text”属性。 出了些问题。 现在,如果我使用请求做同样的事情: var request = require('request'); var nock = require('nock'); nock('http://thefabric.com') .get('/testapi.html') .reply(200, {yes: 'it works !'}); request('http://thefabric.com/testapi.html', function (error, response, body) { if (!error && response.statusCode == 200) { console.log(body) […]