我的控制器中有一个方法,它接受作为表单数据发送的csv文件。
import csv = require('csvtojson');
@Post('/create')
@UseInterceptors(FileInterceptor('file'))
async createUsers(@Query() query: RequestDTO, @UploadedFile() file: Express.Multer.File) {
const createJson = await csv().fromString(file.buffer.toString('utf-8'));
const response = this.myService.createUsers(query, createJson);
return response;
}
我只是想能够用Jest来嘲笑它,但我不知道该怎么做。
您可以简单地伪造具有正确属性的file
参数。
const file: Express.Multer.File = {
originalname: 'file.csv',
mimetype: 'text/csv',
path: 'something',
buffer: Buffer.from('one,two,three'),
};
在测试文件中,当您调用createUser
时,您可以将其作为第二个参数传递
这可能有助于