web-services - 使用 JUnit 测试 Web 服务

标签 web-services unit-testing junit

我正在开发一个应用程序来对各种网络服务执行一系列测试。这些 Web 服务使用并生成 json,对于它们中的每一个,我们都有一个类来对 json 请求和响应进行建模。例如:

如果 serviceX 的 json 请求是这样的:

{
  "name":"Alex",
  "id":"123"
}

我们有一个像这样的 serviceXrequest 类:

public class serviceXrequest {

   String name;
   String id;

   //Constructor, getters/setters, etc
   ...
}

以该类的对象为起点,我们可以对网络服务进行一系列测试。我们的想法是使这些测试尽可能通用,以便它们可以与任何 Web 服务一起使用,只需编写一个对其请求建模的类和一个对响应建模的类。

因此,迄今为止开发的所有测试方法都适用于纯 Java 对象。这是我想要的示例:

public class WebServiceTest {

    String serviceURL;
    String requestJson;
    String requestClass;
    String responseClass;

    public WebServiceTest() {}

    @Test
    public static void Test1() { ... }

    @Test
    public static void Test2() { ... }

    ....

    @Test
    public static void TestN() { ... }
}

然后,从另一个类中,通过执行以下操作来调用这些测试:

public class LoginTest { //To test the login web service, for example

    public static void main(String[] args) {

        WebServiceTest loginTest = New WebServiceTest();

        loginTest.setServiceURL("172.0.0.1/services/login");
        loginTest.setRequestJson("{"user":"ale","pass":"1234"}");
        ...
        loginTest.runTests();
    }
}

我知道这不是那么简单,但是关于如何到达那里有什么想法吗? 提前致谢!!

最佳答案

您也可以查看 REST-assured

关于web-services - 使用 JUnit 测试 Web 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13092780/

相关文章:

java - junit-quickcheck - 生成保持深度有限的随机树

php - 无法在服务器中插入信息,但我可以作为本地主机

java - 从 DataHandler 检测 MIME 类型

web-services - 返回 Pojo WebService JaxWS。重命名 <return> 节点

unit-testing - 有什么办法可以使用GORM在模拟域对象中设置ID

php - 选择 PHPUnit Selenium 2 测试用例中的所有匹配元素

java - JUnit 什么是使 java.io.File.delete() 单元测试失败的最佳方法

visual-studio-2008 - 如何确定为什么在VS2008中阻止将Web服务引用添加到我的项目中?

reactjs - 类型错误 : Cannot read property 'baseVal' of undefined

junit - 如何使用 Spring Test 为每个案例加载一次 DBUnit 测试数据