首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >自动执行WebAPI REST服务的测试

自动执行WebAPI REST服务的测试
EN

Stack Overflow用户
提问于 2013-09-18 03:45:20
回答 2查看 3.6K关注 0票数 1

对于REST服务(基于ASP.NET WebAPI),您推荐哪种类型的测试/自动化测试?当然也有单元测试,但除此之外,有必要确保在某个版本上线后,对该特定版本的任何进一步更改都会公开一个兼容的json (我们假设向json添加新字段对于客户端来说是可以的)。

EN

回答 2

Stack Overflow用户

发布于 2013-09-18 15:11:19

对于REST API的测试,我结合使用了Robot Framework和(很棒的) Requests library

我想出了这样的测试:

代码语言:javascript
复制
*** settings ***
Library  Collections
Library  requests

*** test cases ***
simpleRequest
${result} =  get  http://echo.jsontest.com/framework/robot-framework/api/rest
Should Be Equal  ${result.status_code}  ${200}
${json} =  Set Variable  ${result.json()}
${framework} =  Get From Dictionary  ${json}  framework
Should Be Equal  ${framework}  robot-framework
${api} =  Get From Dictionary  ${json}  api
Should Be Equal  ${framework}  rest

我在blog post中给出了更多细节。

票数 1
EN

Stack Overflow用户

发布于 2013-09-18 11:31:31

对于REST服务,我通常会尝试在QUnit (一个Javascript测试框架)中设置一些测试,以配合单元测试。我发现它在这类事情上效果很好。下面是检查从REST服务返回的JSON的片段(使用jQuery进行调用)。

代码语言:javascript
复制
asyncTest("Test Some JSON Call", function() {
    var url = "http://localhost:5555/myservice";
    rest_test_jsonp(url, function(data, status){
        ok(data != null);
        ok(data.some_array.length > 0);
    });
});

function rest_test_jsonp(url, callback) {
   $.jsonp({
      "url": url+"&callback=?",
      "success": function(data, status, message) {
          callback(data, status, message);
          start();
      },
      "error": function(data, status, message) {
          callback(data, status, message);
          start();
      }
    });
}

它还允许您在HTML页面中运行这些测试,这对于向利益相关者演示功能非常有用。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18858594

复制
相关文章

相似问题

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