写手Remoting测试工具

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

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

写手Remoting测试工具

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接口測试小工具,大家假设有什么好的建议。请留言告诉我:)

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

上一篇:tomcat服务器不输出访问日志


下一篇:winfrom 底层类 验证码 分类: C# 2014-12-17 11:18 258人阅读 评论(0) 收藏