草庐IT

supertest

全部标签

javascript - 如何封装mocha `expect()`代码?

我正在尝试测试是否存在一些我希望在所有测试中都需要的api响应属性(status和data属性)。这是一个通用测试,它断言supertest中的所需属性expect()方法:it('shouldcreateawidget',done=>{letstatus=200;request(test_url).post('/api/widgets').set('Authorization',`Bearer${token}`).send({sku:my_widget_data.sku,name:my_widget_data.name,description:''}).expect(res=>{as

javascript - 如何使用 CSRF 测试 express form post?

我正在尝试为我的服务器端表单验证编写测试,但我不断收到禁止错误。看来这需要一个两步过程。第一步,从表单中获取CSRF值。第2步,使用CSRF值发布到表单处理程序。但是,无论我如何尝试发帖,我都会遇到禁止的错误。--完整测试:https://github.com/socketwiz/swblog/blob/master/test/contact.js#L57-L100我试过这样更改以下行:https://github.com/socketwiz/swblog/blob/master/test/contact.js#L85.send({name:'foo','X-CSRF-Token':t

javascript - 超测测试 express 中间件

找到了关于如何在express中测试中间件的提示:https://github.com/visionmedia/express/blob/master/test/req.xhr.js我想知道为什么我的测试总是通过。直到我注意到当我从express复制测试时,它们的行为是一样的。我试着把它们搞砸了,但它们一直在通过:https://github.com/visionmedia/express/blob/master/test/req.xhr.js我在这里缺少什么?it('shouldreturntruewhenX-Requested-Withisxmlhttprequest',funct

javascript - 如何使用 supertest 和 jest 测试图像上传(流)?

我的API中有一个图像上传端点,它接受application/octet-stream请求并处理这些流。我想为此端点编写测试覆盖范围,但无法弄清楚如何使用super测试来流式传输图像。到目前为止,这是我的代码:importrequestfrom'supertest'consttestImage=`${__dirname}/../../../assets/test_image.jpg`describe('Uploadendpoint',()=>{test('Successfullyuploadsjpgimage',async()=>request(app).post(`${ROOT_UR

javascript - 有没有办法在 super 测试中设置默认值?

我正在使用supertest模块来测试我的RestAPI。我的API一直发送JSON。所以我正在为所有和每个测试做.expect('Content-Type',/json/)!我一次又一次地重复!这是我的一些代码it('shouldlistALLpermissionson/permissionsGET',(done)=>{request(app).get(permissionsURL).expect(200).expect('Content-Type',/json/).end((err,res)=>{varpermissions=res.body;permissions.should.

javascript - 使用 Supertest 和模拟数据库进行 Express JS 集成测试

是否可以使用supertest测试ExpressJSRESTAPI,但用模拟数据库对象替换实际的数据库连接?我有涵盖数据库模型和应用程序其他部分的单元测试以及建立实际数据库连接的API端点的功能测试,但我有一个奇怪的要求来创建类似于功能测试但使用模拟数据库连接的集成测试。下面是一个示例端点Controller:varmodel=require('../../../lib/models/list');module.exports={index:function(req,res){vardata={key:'domains',table:'demo.events'};vardataMode

java - 继承:有没有办法发现调用方法的类?

使用这段代码:classSuperTest{SuperTest(){whoAmI();}voidwhoAmI(){System.out.println(getClass().getName());}}classTestextendsSuperTest{Test(){whoAmI();}}newTest()将打印"Test"两次。作为初学者,我期望输出为"SuperTest/Test"。我现在明白为什么这是不可能的,以及为什么隐式this将仅引用子类型。但是我找不到whoAmI()应该是什么来实际打印输出SuperTest/Test。换句话说:whoAmI()如何访问它“从中调用”的类型

使用Mocha,带有异步/等待功能的Supertest为节点JS开发单位测试,但是我遇到了错误的“分辨率方法已超出指定”

使用Mocha,具有异步/等待功能的Supertest为NodeJSRESTAPI开发单位测试,但是我要低于错误,我正在使用异步和等待关键字的箭头函数。Error:Resolutionmethodisoverspecified.所以有人可以在这里帮我吗?看答案发生这种情况是因为async默认情况下,功能返回承诺,您还可以手动调用完成的功能,这使Mocha混淆了测试何时完成。请参阅问题这里。快速和折叠的解决方案是将异步函数包裹在另一个方面,而不是这样的异步函数:it("shouldwork",done=>{(async()=>{awaitsomething;done();})();});但是,更

CSRF的Supertest请求失败

我有一个表达4使用户的应用程序CSURF对于API路线上的CSRF保护。该应用程序正常运行,CSRF保护确实在运行csrf-token标题将给出适当的错误。我利用ava用于测试Supertest用于测试路线。启用CSRF检查时,以下测试失败,但是如果我删除了中间件,则会通过:test('bookingapinoauth',asynct=>{t.plan(4)constserver=awaitrequest(makeServer(t.context.config,t.context.connection))constcsrf=awaitserver.get('/').then(res=>newJ

redis - 使用 supertest 和 mocha 进行测试无法解决 promise

我正在使用promises使用mocha(3.2)和supertest(3.0)测试我的其余应用程序(在节点上使用hapi制作)。它在超时后停止并返回错误:Error:Timeoutof2000msexceeded.Forasynctestsandhooks,ensure"done()"iscalled;ifreturningaPromise,ensureitresolves.我已经尝试增加超时,但没有成功。如果我添加一个done()调用,我会得到:Resolutionmethodisoverspecified.SpecifyacallbackorreturnaPromise;notb