- 浏览: 260485 次
文章分类
- 全部博客 (395)
- Tech (0)
- [随笔分类]心情 (95)
- [随笔分类]技术 (112)
- [随笔分类]管理心得 (13)
- [随笔分类]Code SOP (5)
- [随笔分类]望图知意 (11)
- [网站分类]1.首页原创精华.NET区(包含架构设计、设计模式)(对首页文章的要求:原创、高质量、经过认真思考并精心写作) (8)
- [随笔分类]重构代码 (1)
- [随笔分类]童童 (2)
- Program (1)
- [随笔分类]看你知道不知道 (1)
- [网站分类]4.其他技术区 (31)
- [网站分类]3.非技术区(技术之外的文章,但不要涉及任何政治内容) (21)
- [网站分类]9.求职招聘区(个人求职、企业招聘) (0)
- [随笔分类]昨日关注 (15)
- [网站分类]6.读书区(技术书籍阅读心得、书籍推荐) (3)
- [随笔分类]一步一个脚印 (2)
- [网站分类]网站管理区(网站管理方面的疑问、建议、意见, 寻求管理员帮助) (1)
- [网站分类]2..NET新手区(用于发表不合适发表在首页的.NET技术文章,包括小经验、小技巧) (3)
最新评论
在使用过NUnit后,一直想在VB6中使用一下单元测试工具,目前比较流行的是VBUnit和ComUnit,我比较喜欢ComUnit主要是它是开源的,当然用起来比较爽了,可以在http://comunit.sourceforge.net/进行下载。
ComUnit使用比较简单,注意下边几点后就可以使用了。
' COMUnit 1.1 - TestRunner form
Option Explicit
' Initialize the TestRunner control
Private Sub Form_Load()
' TODO: add instances of your TestContainer classes to the UnitRunner control
' e.g. UnitRunner1.AddTestContainer New TCTestContainer
'************************************************
'必须向UnitRunner添加一个控制对象,别的不需要修改
UnitRunner1.AddTestContainer New TCTestContainer
'************************************************
End Sub
' Run the tests selected in the UnitRunner
Private Sub btnRun_Click()
UnitRunner1.Run
End Sub
' Close the form
Private Sub btnClose_Click()
Unload Me
End Sub
' Resize the UnitRunner control and the buttons on the form
Private Sub Form_Resize()
UnitRunner1.Move 0, 0, ScaleWidth, PosInt(ScaleHeight - btnClose.Height - 50)
btnClose.Move PosInt(ScaleWidth - btnClose.Width), PosInt(ScaleHeight - btnClose.Height)
btnRun.Move PosInt(ScaleWidth - btnClose.Width - btnRun.Width - 100), PosInt(ScaleHeight - btnRun.Height)
End Sub
Private Function PosInt(iValue) As Integer
PosInt = IIf(iValue > 0, iValue, 0)
End Function
Option Explicit
' Initialize the TestRunner control
Private Sub Form_Load()
' TODO: add instances of your TestContainer classes to the UnitRunner control
' e.g. UnitRunner1.AddTestContainer New TCTestContainer
'************************************************
'必须向UnitRunner添加一个控制对象,别的不需要修改
UnitRunner1.AddTestContainer New TCTestContainer
'************************************************
End Sub
' Run the tests selected in the UnitRunner
Private Sub btnRun_Click()
UnitRunner1.Run
End Sub
' Close the form
Private Sub btnClose_Click()
Unload Me
End Sub
' Resize the UnitRunner control and the buttons on the form
Private Sub Form_Resize()
UnitRunner1.Move 0, 0, ScaleWidth, PosInt(ScaleHeight - btnClose.Height - 50)
btnClose.Move PosInt(ScaleWidth - btnClose.Width), PosInt(ScaleHeight - btnClose.Height)
btnRun.Move PosInt(ScaleWidth - btnClose.Width - btnRun.Width - 100), PosInt(ScaleHeight - btnRun.Height)
End Sub
Private Function PosInt(iValue) As Integer
PosInt = IIf(iValue > 0, iValue, 0)
End Function
' COMUnit 1.1 - TestContainer Class
'建议类的前缀为TC
Option Explicit
' Interface declaration
Implements ITestContainer
' Fixture Member Variables
' TODO: specify your TestContainer test fixture member variables here
' Return the name of the different test case methods in this test container
Public Property Get ITestContainer_TestCaseNames() As Variant()
' TODO: add the names of your test methods as a parameter into the Array() function
'必须将测试方法的名字加到数组中
ITestContainer_TestCaseNames = Array("TestString", "TestLong")
End Property
' Run the specified test case methods in this test container
Public Sub ITestContainer_RunTestCase(oTestCase As ITestCase, oTestResult As TestResult)
On Error GoTo ErrorHandler
InvokeHook Me, oTestCase.Name, INVOKE_FUNC, oTestResult
' CallByName Me, oTestCase.Name, VbMethod, oTestResult
Exit Sub
ErrorHandler:
oTestResult.AddError Err.Number, Err.Source, Err.Description
End Sub
'Initialize the test fixture
Public Sub ITestContainer_Setup()
' TODO: initialize your test fixture here
End Sub
'Destroy the test fixture
Public Sub ITestContainer_TearDown()
' TODO: destruct your test fixture here
End Sub
'Public Sub testSampleMethod(oTestResult As TestResult)
' TODO: add your test code here
'End Sub
Public Sub TestString(oTestResult As TestResult)
oTestResult.Assert "String" = "String", "字符串不相等"
End Sub
Public Sub TestLong(oTestResult As TestResult)
oTestResult.AssertEqualsLong 1, 456, "数值不相等"
End Sub
'建议类的前缀为TC
Option Explicit
' Interface declaration
Implements ITestContainer
' Fixture Member Variables
' TODO: specify your TestContainer test fixture member variables here
' Return the name of the different test case methods in this test container
Public Property Get ITestContainer_TestCaseNames() As Variant()
' TODO: add the names of your test methods as a parameter into the Array() function
'必须将测试方法的名字加到数组中
ITestContainer_TestCaseNames = Array("TestString", "TestLong")
End Property
' Run the specified test case methods in this test container
Public Sub ITestContainer_RunTestCase(oTestCase As ITestCase, oTestResult As TestResult)
On Error GoTo ErrorHandler
InvokeHook Me, oTestCase.Name, INVOKE_FUNC, oTestResult
' CallByName Me, oTestCase.Name, VbMethod, oTestResult
Exit Sub
ErrorHandler:
oTestResult.AddError Err.Number, Err.Source, Err.Description
End Sub
'Initialize the test fixture
Public Sub ITestContainer_Setup()
' TODO: initialize your test fixture here
End Sub
'Destroy the test fixture
Public Sub ITestContainer_TearDown()
' TODO: destruct your test fixture here
End Sub
'Public Sub testSampleMethod(oTestResult As TestResult)
' TODO: add your test code here
'End Sub
Public Sub TestString(oTestResult As TestResult)
oTestResult.Assert "String" = "String", "字符串不相等"
End Sub
Public Sub TestLong(oTestResult As TestResult)
oTestResult.AssertEqualsLong 1, 456, "数值不相等"
End Sub
在窗体中要将Runner和类进行绑定,建议的类名前缀为TC,新增的测试函数一定要在ITestContainer_TestCaseNames中进行注册,新增的测试函数一定要有oTestResult As TestResult这个声明,而且只能有这么一个声明。
还有就是要在IDE的选项中,将错误捕获改为“遇到未处理的错误时中断”就可以享受VB6下边的单元测试了。
参考文章:
http://champion.ewuxi.com/old/XP/xppractice/vbunit.htm
http://www.soho-works.net/BLOG/313.asp
http://comunit.sourceforge.net/?page=tutorial.html
发表评论
-
启动NDuiker项目
2005-01-20 17:05 467今天是进驻博客园的第一天,在这里安家真的很不错,十分感谢DuD ... -
NDuiker项目第2天总结
2005-01-21 08:53 663昨天晚上基本上实现了 ... -
NDuiker项目第3天
2005-01-22 22:50 595今天是周六了,原本以为是很轻松的一天,结果只有到了这个时 ... -
NDuiker项目第6天
2005-01-25 16:50 618这几天好忙,也好累呀,这几天是公司项目收尾的阶段,忙的都透不过 ... -
对.Net 类库的一点思索
2005-02-02 09:29 622这些天主要在测试GDI+的 ... -
测试一个网站的想法
2005-02-05 17:07 551由于项目的需要,测试了一下“上海研发公共服务平台” 登录:ht ... -
项目建议书编写总结
2005-02-25 15:46 782昨天完成了项目建议书的编写工作,整个春节期间的工作到今天全部完 ... -
MyIE 增加了RSS功能
2005-02-28 09:54 584今天更新了MyIE,发现MyIE增加了RSS功能,试用了一下, ... -
www.beihua.edu.cn计划摘录
2005-02-28 14:11 789www.beihua.edu.cn工作计划 1:网站后期制作计 ... -
网站调研资料记录
2005-03-01 15:56 640资料整理备忘 1:内外网IP确认 ... -
静静的看书
2005-03-08 17:18 599这几天还是很忙,但是似乎好了很多,因为目前主要是写一个基于Sm ... -
我的Smart Client 的学习笔记
2005-03-09 15:35 1727User Interface Process (UIP) Ap ... -
研发、开发、运营
2005-03-25 12:15 643这些天很忙,网络也不争气,才刚刚好一点。 ... -
当需求变更来临
2005-04-30 14:26 553昨晚已经和老婆安排好5 ... -
重新登录Window2003的域
2005-05-12 09:58 696今天公司要求重新登录Windows2003的域,记录一下,以后 ... -
当不愿意写字得时候
2005-05-16 15:36 743做项目得前期分析得时候,我还是比较喜欢在本子上写写、画画得,通 ... -
远离技术的时候
2005-06-20 11:05 450这一个月一直在忙一个项目,现在项目的可研报告也 ... -
Asp.Net 中使用客户端Activex控件需要注意的事情
2005-08-13 12:57 965案例:Asp.Net +VB制作的Activex控件 操作系统 ... -
Office开发中的测试的与众不同之处
2005-08-22 14:29 754今天修改了一下自己以 ... -
大家确实都很忙
2005-08-27 08:20 748先谈几个技术问题: 1 ...
相关推荐
总结,ComUnit是VB6开发者进行自动化单元测试的有力工具,它简化了测试过程,提高了代码质量,并且由于开源的特性,允许开发者深度定制和扩展。无论是初学者还是经验丰富的VB程序员,ComUnit都是值得信赖的伙伴。...
ComUnit是VB6的一个流行单元测试框架,而VB6IDE_ComUnitHelp_Addin则是它的辅助工具,帮助开发者更方便地进行测试用例代码的批量生成。 首先,我们要理解什么是单元测试。单元测试是一种软件测试方法,它通过编写...
vbAddin_ComUnitHelp(vb测试工具ComUnit的辅助工具,可以方便的自动生成case声明等) 1.例如函数main1中调用了一个下位函数fun1,则需要在源代码中的两个地方插入代码: (1)main1调用fun1的上一步插入代码isShield_...
在VB6环境中,开发者通常依赖于内置的功能或者第三方工具来进行代码的测试,而COMUnit 提供了一种更专业、更强大的单元测试框架。这个组件的主要目标是帮助开发者编写更加健壮、可维护的代码,通过自动化测试确保...
【VB开源自动化测试工具手册】主要探讨了在Visual Basic (VB)环境中进行自动化测试的方法,特别是针对VB6的单元测试工具。在这个领域,VBUnit和ComUnit是两个被广泛使用的框架,而本手册的重点似乎是ComUnit,因为它...
vb单元测试工具,在source forge上下载的测试可以使用,其它两个我下载试用了,都不可以安装。
### 白盒测试工具集概览 #### Parasoft白盒测试工具集 1. **Jtest** - **支持语言环境**: Java - **简介**: Jtest 是一款用于 Java 的白盒测试工具,主要功能包括代码分析、动态类与组件测试。它可以帮助...
Site-ul ofialial comunității Aniga。
组合简短说明和动机。...安装将此行添加到您的应用程序的Gemfile中: gem 'comunit' 然后执行: $ bundle 或将其自己安装为: $ gem install comunit贡献贡献方向在这里。执照根据的规定,该gem可作为开源软件。