软件单元测试实践(VB版)

发表于:2009-03-31来源:作者:点击数: 标签:实践单元软件
vb 有多个 单元测试 的软件,如 VB unit,communit。此处选择communit来作为单元测试的,原因是一、它是完全开放源码的,二、它不仅能测试VB源代码,还能测试标准COM组件。communit可以从sourceforge.net下载,也可以本地下载,本地版本与有两个修改,一是修正
vb有多个单元测试的软件,如VBunit,communit。此处选择communit来作为单元测试的,原因是一、它是完全开放源码的,二、它不仅能测试VB源代码,还能测试标准COM组件。communit可以从sourceforge.net下载,也可以本地下载,本地版本与有两个修改,一是修正模板的安装,原来的包没有完全设置好,二是增加了时间的计算,能显示测试花费的时间。

    使用,把包下载,然后解到一个目录,运行install.exe,打开VB。可以发现可以新建CoMunit Test Project的工程。有两个文件frmTestRunner的form,TCTestContainer是测试类。下面我们看一下如何使用comunit。先下载测试代码。

     这个代码是测试二进制文件在数据库里的存取。有关二进制代码在数据库里存取的技术问题,请看另一篇文章。用什么办法来确定代码是正确工作了呢?答案当然是单元测试。

    测试代码很简单,但的确很有效,它保证这段代码是正确的工作了。

' COMUnit 1.1 - TestContainer Class

Option Explicit

' Interface declaration
Implements ITestContainer
'定义一个recordset
Dim k As New adodb.Recordset
'定义bin类
Dim BinTest As clsManagerBinFields
'定义源文件名和目标文件名
Dim SourceFile As String, DesFile As String
' 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("TestFields")
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
'指定源文件名,这里就指定这个文件
SourceFile = App.Path & "\tctestcontainer.cls"
'指定目标文件名,这里指定为当前目录下的test
 DesFile = App.Path & "\test"

 

原文转自:http://www.ltesting.net