jjzjj

如何将Sinon JS注入iframe中的应用

我想在我的应用程序中测试AJAX请求。该应用程序以iframe运行,我希望iframe的包装纸页面将使用Sinon测试应用程序(包装器将发送响应)。我试图把window's测试应用程序中的对象Sinon的假服务器(sinon.fakeserver.create()),但是当发送对Ajax呼叫的响应时,它不起作用。希望这个想法清晰可理解。感谢您的帮助看答案这很容易。一旦您打电话sinon.fakeserver.create这window.XmlHttpRequest将被Sinon对象替换。您可以分配和覆盖目标窗口对象,例如varserver=sinon.fakeserver.create();d

node.js - 单元/集成测试 Express REST API、mongoose、mocha、sinon、chai、supertest

我对使用Mongoose对ExpressRESTAPI进行单元测试感到很困惑。我听说过supertest、sinon、chai和mocha。我想编写测试:1)测试API接口(interface):创建一个super测试服务器并向其发出请求(例如GET/users、POST/users)并检查它是否调用了正确的路由。2)测试Mongoose查询:当路由被调用时,我想检查是否调用了正确的mongoose函数(find,findById)并且它返回了正确的数据(假数据),比如:当调用User.findId时,返回假用户(在beforeEach中定义的数据)。这是sinonstub的用途吗?3

node.js - 如何 "Fake"测试 Mongoose 模型的日期/时间

在此之前,感谢您提供的任何帮助/建议!我想要完成的事情我正在尝试找到一种优雅的方法来在创建Mongoose模型实例时测试日期/时间。我想确保存储的时间是正确的。我的模型目前看起来像这样:constmessageSchema=mongoose.Schema({user:{type:String,required:true},message:{type:String,required:true},created:{type:Date,default:Date.now},});constMessage=mongoose.model('Message',messageSchema);我将这个模

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 - 轻松清理 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