zoukankan      html  css  js  c++  java
  • 写手Remoting测试工具

    基于.NET开发分布式系统。经经常使用到Remoting技术。在測试驱动开发流行的今天。假设针对分布式系统中的每一个Remoting接口的每一个方法都要写具体的測试脚本,无疑很浪费时间。所以,我想写一个能自己主动測试remoting接口的小工具InterfaceTester。并且。当分布式系统中的某个remoting接口出现bug时。该小工具能够提交须要模拟的数据,以便在调试remoting服务的环境中。高速定位和解决bug。

      InterfaceTester执行起来后的效果例如以下图:

          

    1.怎样使用

    (1)首先,填上要測试的而且是已经公布的Remoting服务的地址信息。

    (2)选取要測试的remoting接口所在的程序集。通常是一个dll。选定程序集后,InterfaceTester会自己主动搜索该程序集中定义的全部接口。并将其绑定到“接口类型”的下拉列表。

    (3)从 “接口类型”的下拉列表中选择要測试的接口。选定接口后。InterfaceTester会自己主动搜索该接口中定义的全部方法,并将其绑定到“目标方法”的下拉列表。

    (4)从 “目标方法”的下拉列表中选择要測试的方法。InterfaceTester会依据该方法所要求的參数,自己主动生成參数录入界面。

    (5)在參数录入界面上,输入用于測试的參数的值,然后,点击“调用”button, InterfaceTester便会调用上述指定地址的remtoing服务的指定接口的指定方法。假设调用的方法有返回值,则会在“调用返回”的panel上显示该值。假设返回的不是一个简单类型,而是一个对象,则“调用返回”的panel上将会以xml的形式显示这个对象的各个属性值。

     

    2.实现原理

    就这个小工具的实现而言,主要用到的技术就是反射(reflection)。

    另外,须要注意的就是,依据參数的类型,生成录入界面。

    详细细节大家能够參见源代码。眼下,InterfaceTester支持的被測试方法的參数类型是有限制的:

    (1)支持简单的数据类型,像string、int、bool等。

    (2)支持List<>、I List<>、IDictionary<,>、Dictionary<,>等集合类型。

    (3)支持简单的数据结构的class(如像Point、自己定义的Entity等)。

     

    3.源代码解决方式

      下载源代码并用VS打开后,解决方式下有三个项目:InterfaceTester、DemoInterface、DemoService。

    (1)InterfaceTester项目是我们本文的主角:用于remoting接口測试的小工具。

    (2)DemoInterface和 DemoService则是为了试试小工具而构建的一个小demo。 DemoInterface定义了公布的remoting服务的接口。 DemoService则是公布的remoting服务。

    在试用时。先启动 DemoService项目,再启动InterfaceTester。就能够试试我们的小工具功能了。

     

    4.源代码下载

      InterfaceTester

      针对这个remoting接口測试小工具,大家假设有什么好的建议。请留言告诉我:)


    版权声明:本文博主原创文章,博客,未经同意不得转载。

  • 相关阅读:
    Angular2.0的学习(四)
    JAVA 中BIO,NIO,AIO的理解
    分布式调用技术 RPC VS REST
    深入浅出单实例Singleton设计模式
    接口设计六大原则
    线程安全的简单理解
    class<T>和 class<?>类型 有什么区别
    随笔记录
    问题记录总结
    JDK1.8 新特性(全)
  • 原文地址:https://www.cnblogs.com/mengfanrong/p/4905650.html
Copyright © 2011-2022 走看看