首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >以具有角色的用户身份回送测试上载文件

以具有角色的用户身份回送测试上载文件
EN

Stack Overflow用户
提问于 2015-12-03 12:08:33
回答 1查看 448关注 0票数 0

我一直在用回环测试项目为我的循环后端编写测试。后端设置了回环组件存储,以便提供apis将文件存储在文件系统中。我希望使用回环组件存储提供的远程api来测试文件上载,使用如下所示:

代码语言:javascript
复制
describe('Containers', function() {
   lt.it.shouldBeAllowedWhenCalledByUserWithRole(TEST_USER, someRole, 
      'POST', '/api/containers/somecontainer/upload', somefile);
});

但没有运气..。没有这方面的文件。我不知道它是否有可能被测试。有什么想法吗?

提前感谢

一些链接:

https://github.com/strongloop/loopback-testing

https://github.com/strongloop/loopback-component-storage

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-01-05 13:28:57

环回测试目前已不再受欢迎。

您应该考虑使用超测试。它依赖于超剂,允许您在REST上执行http请求,并对响应对象进行断言。

然后,可以使用超级代理法构建可以包含文件的多部分表单数据请求。

使用mocha描述测试的代码如下所示:

代码语言:javascript
复制
var request = require('supertest');
var fs = require('fs');
var app = require('./setup-test-server-for-test.js');

function json(verb, url) {
    return request(app)[verb](url)
    .set('Content-Type', 'multipart/form-data');
};

describe("User",function() {
    it("should be able to add an asset to the new project", function(done){
       var req = json('post', '/api/containers/someContainer/upload?access_token=' + accessToken)
       .attach("testfile","path/to/your/file.jpg")
       .expect(200)
       .end(function(err, res){
            if (err) return done(err);
            done();
       });
    });

    it("should have uploaded the new asset to the project folder", function(done){
        fs.access('/path/to/your/file.jpg', fs.F_OK, function(err){
            if (err) return done(err);
            done();
        });
    });
};
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34065687

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档