我正在尝试对Express路由进行单元测试,以验证它们调用了正确的控制器函数。此时,我不检查控制器函数的内部逻辑,只检查路由映射到正确的函数。到目前为止,在我引入这样的路由器中间件之前,我所做的一切都是完美的:
'use strict';
import express from 'express';
import config from './../../config/environments';
import SuperLogin from 'superlogin';
let controller = require(
假设我有一个像这样导出的模块:
module.exports = mymodule;
然后,在我的测试文件中,我需要模块并对其进行存根。
var mymodule = require('./mymodule');
describe('Job gets sports data from API', function(){
context('When there is a GET request', function(){
it('will call callback after getting response&
在使用sinon测试我的代码时,我遇到了一些问题。我有一个简单的模块,它调用两个内部函数并检查它们的结果。我打算使用存根来改变这些函数的输出,以测试模块如何响应。这个是可能的吗?
scripts.js
let check1 = function(){return true}
let check2 = function(){return true}
let startFunc = function(){console.log('checks Passed')}
let sendLog = function(message){console.log(message)}
modul
在使用sinon和async/await运行此测试时遇到问题。下面是我正在做的一个例子:
// in file funcs
async function funcA(id) {
let url = getRoute53() + id
return await funcB(url);
}
async function funcB(url) {
// empty function
}
测试:
let funcs = require('./funcs');
...
// describe
let stubRoute53 = null;
let stubF
我想对以下ES6类进行单元测试:
// service.js
const InternalService = require('internal-service');
class Service {
constructor(args) {
this.internalService = new InternalService(args);
}
getData(args) {
let events = this.internalService.getEvents(args);
let data = getDataFromEvents(e
对于修复云函数TypeScript单元测试,我想模拟doc().id,而不是doc('path')。我该怎么做?
admin.firestore().collection('posts').doc().id // I only want to mock this one
admin.firestore().collection('posts').doc('1')
我试过在西农做下面的事。但是它被困在sinon/proxy-invoke.js:50:47的无限循环中
const collection = admin.firesto
我正在尝试存根一个sails控制器函数,但我不知道要存根的是哪个对象。使用sinon.stub(object,'funcname', function()...
这可能与sails绑定控制器函数的方式有关.
下面是一些给出例子的代码
控制器文件api/ Controller /PersonController.js
var fs = require('fs');
//
// I want to stub retrieveData function when testing
//
function retreiveData(cb) {
fs.readFi
我有一个问题,让西农的存根正确地为我工作。当我在list上存根retro并运行测试时,app.get('/retro', retro.list)正在执行原始函数retro.list而不是存根。由于这种情况发生,所以测试失败,因为存根的callCount是0。
我对coffeescript更熟悉,我也用同样的方式处理过一些事情。对于Javascript的作用域,或者require('../routes/retro')是如何工作的,或者retro在app.js和test.js中是不一样的,有什么我不理解的。
非常感谢下面的帮助和代码。
test.js:
var re