小编Rom*_*nko的帖子

单元测试控制器使用 Jest、NodeJS

我想检查某些路由调用正确控制器使用Jest specific (mock or spy) 的情况

它是单元测试特定的案例。有人可以帮助我如何检查它使用笑话。我不需要验证类型的期望(状态代码或 res 对象)我需要检查控制器是否已被调用。谢谢!

例如:

// todoController.js
function todoController (req, res) {
    res.send('Hello i am todo controller')
} 

// index.spec.js
const express = require('express');
const request = require('request-promise');
const todoController = require('./todoController');
jest.mock('./todoController');

const app = express();

app.get('/todo', todoController)

test('If certain routes are calling the correct controller , controller should to have been called times one.', async() => {
    await request({url: 'http://127.0.0.1/todo'})
    expect(todoController).toHaveBeenCalledTimes(1);
})
Run Code Online (Sandbox Code Playgroud)

javascript unit-testing node.js express jestjs

5
推荐指数
1
解决办法
8637
查看次数

如何发送数据正确的axios错误:多部分:找不到边界

我不知道为什么在服务器上收到[错误:多部分:未找到边界]bundle.js:37628 POST http:// localhost:8800 / exporttocsv 500(内部服务器错误

<form action="/exporttocsv" method="POST"  encType="multipart/form-data">
Run Code Online (Sandbox Code Playgroud)

发布正常,但axios无法通过。

请帮助我纠正错误

这是我的代码/-客户端

import axios from 'axios'
var formData = new FormData()

const config = { headers: { 'Content-Type': 'multipart/form-data' } };
export const ipmortToCSV = (file) => dispatch => {

formData.append('file',file)
console.log(formData.getAll('data'))

axios.post('/exporttocsv', {
          "UploadCommand": formData
      },config)
      .then(function (response) {
        console.log(response);
      })
      .catch(function (error) {
        console.log(error);
      });
Run Code Online (Sandbox Code Playgroud)

// - 服务器

const router = require('express').Router()
var csv = require('csv-express')
const controllers = require('../../controllers/exporttocsv') …
Run Code Online (Sandbox Code Playgroud)

javascript node.js axios

1
推荐指数
3
解决办法
6589
查看次数

标签 统计

javascript ×2

node.js ×2

axios ×1

express ×1

jestjs ×1

unit-testing ×1