Xin chào trong tài liệu Redux để thử nghiệm họ có có ví dụ này để kiểm tra các cuộc gọi api:Testing Axios gọi với Sinon, với Redux và Karma
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) => {
nock('http://example.com/')
.get('/todos')
.reply(200, { body: { todos: ['do something'] }})
const expectedActions = [
{ type: types.FETCH_TODOS_REQUEST },
{ type: types.FETCH_TODOS_SUCCESS, body: { todos: ['do something'] } }
]
const store = mockStore({ todos: [] }, expectedActions, done)
store.dispatch(actions.fetchTodos())
})
})
Tôi đang sử dụng thử nghiệm nghiệp môi trường, và tôi nghĩ rằng tôi có thể không sử dụng nock để kiểm tra điều này. Vì vậy, tôi đã nhìn vào thử nghiệm này bằng cách sử dụng Sinon thay thế. Rắc rối là tôi không hiểu làm thế nào tôi sẽ thử nghiệm bằng cách sử dụng này như tôi không đi qua một cuộc gọi lại vào cuộc gọi chức năng api của tôi. Tôi đang sử dụng các trục để gọi API bên ngoài của mình.
bất kỳ cập nhật nào về điều này? Bạn đã quản lý để giải quyết nó? – anoop