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

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

写手Remoting测试工具的更多相关文章

  1. 动手写一个Remoting接口测试工具(附源码下载)

    基于.NET开发分布式系统,经常用到Remoting技术.在测试驱动开发流行的今天,如果针对分布式系统中的每个Remoting接口的每个方法都要写详细的测试脚本,无疑非常浪费时间.所以,我想写一个能自 ...

  2. Remoting接口测试工具

    动手写一个Remoting接口测试工具 基于.NET开发分布式系统,经常用到Remoting技术.在测试驱动开发流行的今天,如果针对分布式系统中的每个Remoting接口的每个方法都要写详细的测试脚本 ...

  3. Socket测试工具(客户端、服务端)

    Socket是什么? SOCKET用于在两个基于TCP/IP协议的应用程序之间相互通信.最早出现在UNIX系统中,是UNIX系统主要的信息传递方式.在WINDOWS系统中,SOCKET称为WINSOC ...

  4. Linux系统性能测试工具(二)——内存压力测试工具memtester

    本文介绍关于Linux系统(适用于centos/ubuntu等)的内存压力测试工具-memtester.内存性能测试工具包括: 内存带宽测试工具——mbw: 内存压力测试工具——memtester: ...

  5. Linux系统性能测试工具(一)——内存带宽测试工具mbw

    本文介绍关于Linux系统(适用于centos/ubuntu等)的内存带宽测试工具-mbw.内存性能测试工具包括: 内存带宽测试工具——mbw: 内存压力测试工具——memtester: 内存综合性能 ...

  6. 转: 用 Go 写一个轻量级的 ldap 测试工具

    前言 这是一个轮子. 作为一个在高校里混的 IT,LDAP 我们其实都蛮熟悉的,因为在高校中使用 LDAP 来做统一认证还蛮普遍的.对于 LDAP 的管理员而言,LDAP 的各种操作自然有产品对应的管 ...

  7. 利用 Python 写一个颜值测试小工具

    我们知道现在有一些利用照片来测试颜值的网站或软件,其实使用 Python 就可以实现这一功能,本文我们使用 Python 来写一个颜值测试小工具. 很多人学习python,不知道从何学起.很多人学习p ...

  8. 开源Web测试工具介绍

    HtmlUnitHtmlUnit 是 JUnit 的扩展测试框架之一.HtmlUnit 将返回文档模拟成 HTML,这样您便可以直接处理这些文档了.HtmlUnit 使用例如 table.form 等 ...

  9. 使用C#winform编写渗透测试工具--Web指纹识别

    使用C#winform编写渗透测试工具--web指纹识别 本篇文章主要介绍使用C#winform编写渗透测试工具--Web指纹识别.在渗透测试中,web指纹识别是信息收集关键的一步,通常是使用各种工具 ...

随机推荐

  1. 使用Intel HAXM 加速你的Android模拟器

    Android 模拟器一直以运行速度慢著称, 本文介绍使用 Intel HAXM 技术为 Android 模拟器加速, 使模拟器运行度媲美真机, 彻底解决模拟器运行慢的问题. Intel HAXM ( ...

  2. 採訪The Molasses Flood:BioShock Infinite 游戏之后又一大作

    Xsolla有幸与Flame in the Flood游戏的开发人员之中的一个-----Forrest Dowling进行了採訪,Flame in the Flood这款非常棒的游戏在Kickstar ...

  3. ASP.NET 运行

    ASP.NET 运行 对于ASP.NET开发,排在前五的话题离不开请求生命周期.像什么Cache.身份认证.Role管理.Routing映射,微软到底在请求过程中干了哪些隐秘的事,现在是时候揭晓了.抛 ...

  4. Nginx + Lua + redis (一)(转)

    使用 Lua 脚本语言操作 Redis. 由于大量的 Lua 代码写在 Nginx 中,会使配置文件显得很繁琐,所以这里使用 content_by_lua_file 来引入 Lua 脚本文件. 要使用 ...

  5. 如何区分MNO和MVNO

    MVNO(Mobile Virtaul Network Operator)虚拟网络运营商,没有自己的物理网络,租用MNO(Mobile Network Operator)网络提供的网络服务. 我们知道 ...

  6. TCP/IP具体解释--nagle算法和TCP_NODELAY

    在client一直给server发送小数据的时候,接受到一个回应会在非常长的时间以后,可是将多个小数据写操作合并成一个写操作,问题就没了. 这个事件的缘由可能是TCP_NODELAY的原因 如今大概明 ...

  7. 计时器 Timer

    计时器 Timer 不多说了,守则.

  8. [Unity3D] 有关公告板实现的误区

    最直接实现一个公告板,我认为我们应该这样做: usingUnityEngine; publicclassBillboard :MonoBehaviour { voidUpdate() { transf ...

  9. Codeforces 437E The Child and Polygon(间隔DP)

    题目链接:Codeforces 437E The Child and Polygon 题目大意:给出一个多边形,问说有多少种切割方法.将多边形切割为多个三角形. 解题思路:首先要理解向量叉积的性质,一 ...

  10. 探索Windows Azure 监控和自动伸缩系列2 - 获取虚拟机的监控定义和监控数据

    上一篇博文介绍了如何连接Windows Azure: http://www.cnblogs.com/teld/p/5113063.html 本篇我们继续上次的示例代码,获取虚拟机的监控定义和监控数据. ...