草庐IT

sinon-chai

全部标签

mysql - nodejs - stub 模块。使用 sinon 导出函数

我有一个expressjs应用程序,其中包含以下routes和middleware模块。我正在尝试使用mocha、chai、http-chai和sinonjs测试路由模块。API使用mysql并且为了测试路由模块,我将它全部模块化以便我可以stubmysql模块。但是,当我尝试stubmiddleware/index时,我遇到了麻烦。如果我尝试正常要求index,模块实际上并没有被stub。如果我尝试使用require.cache[require.resolve('./../../lib/routes/middleware/index')];来要求它,它似乎stub了一些东西,但是in

如何验证Sinon的Clear Interval?

因此,我有一个React组件,可以设置这样的间隔:componentDidMount(){this.interval=window.setInterval(this.myFunction,500);}在执行结束时,myFunction通过打电话杀死间隔clearInterval(this.interval);我正在使用辛农的真棒假计时器API确保myFunction这样的500毫秒之后被打电话:letclock;beforeEach(()=>{clock=sinon.useFakeTimers();});...it('shouldcallmyfunction',()=>{clock.tick(

html - 模拟 document.getElemetById ('.form' ).getContext ('2d' ) 使用 sinon

我使用karma、mocha、chai、sinon和Angular模拟进行单元测试。在我的$scope.loadChart中,我正在Canvas标签中绘制图表。我正在使用http://www.chartjs.org/绘制图表。Chartjs需要这段代码,document.getElemetById('#canvas').getContext('2d')。我如何在Sinon中stub这个?我的测试卡在了这一行。 最佳答案 您可以stubdocument.getElementById并让它返回一个Canvas对象,该对象被stub并编程

html - 模拟 document.getElemetById ('.form' ).getContext ('2d' ) 使用 sinon

我使用karma、mocha、chai、sinon和Angular模拟进行单元测试。在我的$scope.loadChart中,我正在Canvas标签中绘制图表。我正在使用http://www.chartjs.org/绘制图表。Chartjs需要这段代码,document.getElemetById('#canvas').getContext('2d')。我如何在Sinon中stub这个?我的测试卡在了这一行。 最佳答案 您可以stubdocument.getElementById并让它返回一个Canvas对象,该对象被stub并编程

javascript - 有没有办法让 Chai 处理异步 Mocha 测试?

我正在使用BrowserRunner在Mocha中运行一些异步测试,我正在尝试使用Chai的expect样式断言:window.expect=chai.expect;describe('mytest',function(){it('shoulddosomething',function(done){setTimeout(function(){expect(true).to.equal(false);},100);}}这不会给我正常的失败断言消息,而是我得到:Error:thestring"UncaughtAssertionError:expectedtruetoequalfalse"w

javascript - 有没有办法让 Chai 处理异步 Mocha 测试?

我正在使用BrowserRunner在Mocha中运行一些异步测试,我正在尝试使用Chai的expect样式断言:window.expect=chai.expect;describe('mytest',function(){it('shoulddosomething',function(done){setTimeout(function(){expect(true).to.equal(false);},100);}}这不会给我正常的失败断言消息,而是我得到:Error:thestring"UncaughtAssertionError:expectedtruetoequalfalse"w

javascript - 轻松清理 sinon stub

有没有一种方法可以轻松地重置所有sinonspy模拟和stub,这些模拟和stub可以与mocha的beforeEachblock一起干净地工作。我看到沙盒是一个选项,但我不知道如何为此使用沙盒beforeEach->sinon.stubsome,'method'sinon.stubsome,'mother'afterEach->#Iwanttoavoidtheselinessome.method.restore()some.other.restore()it'shouldcallasomemethodandnotother',->some.method()assert.calleds

javascript - 轻松清理 sinon stub

有没有一种方法可以轻松地重置所有sinonspy模拟和stub,这些模拟和stub可以与mocha的beforeEachblock一起干净地工作。我看到沙盒是一个选项,但我不知道如何为此使用沙盒beforeEach->sinon.stubsome,'method'sinon.stubsome,'mother'afterEach->#Iwanttoavoidtheselinessome.method.restore()some.other.restore()it'shouldcallasomemethodandnotother',->some.method()assert.calleds

javascript - 使用Sinon的Mongoose模型的 stub 保存实例方法

我正在尝试使用Mongoose模型测试用于保存小部件的服务功能。我想在我的模型上stub保存实例方法,但我想不出一个好的解决方案。我看过其他建议,但似乎都不完整。见...this,和this.这是我的模型...//widget.jsvarmongoose=require('mongoose');varwidgetSchema=mongoose.Schema({title:{type:String,default:''}});varWidget=mongoose.model('Widget',widgetSchema);module.exports=Widget;这是我的服务...//w

javascript - 使用Sinon的Mongoose模型的 stub 保存实例方法

我正在尝试使用Mongoose模型测试用于保存小部件的服务功能。我想在我的模型上stub保存实例方法,但我想不出一个好的解决方案。我看过其他建议,但似乎都不完整。见...this,和this.这是我的模型...//widget.jsvarmongoose=require('mongoose');varwidgetSchema=mongoose.Schema({title:{type:String,default:''}});varWidget=mongoose.model('Widget',widgetSchema);module.exports=Widget;这是我的服务...//w