Я использовал SimplyVBUnit в старом приложении VB6. Это великолепно. У меня более 100 тестов. Но мне пришлось серьезно изменить его, чтобы интегрировать с моим приложением (например, чтобы я мог перейти в меню «Справка» и запустить модульные тесты. В частности, я отделил пользовательский интерфейс от фактической реализации, поэтому он не зависит от пользовательского интерфейса.
Источник на самом деле не так уж и сложен (как только вы начинаете понимать, что делает парень). VB6 не имеет никакого отражения, и TLBINF32.DLL работает только с внешними DLL, поэтому, если вы хотите интегрировать SimplyVBUnit в свое приложение, вы не можете использовать этот подход.
Вы создаете класс модульного теста в ActiveX DLL, который наследуется от ITestCase. Вы реализуете метод RunTest. Внутри метода у вас есть следующее:
Private Sub ITestCase_RunTest(ByVal TestNum As Long, TestName As String, ExpectErrNum As Long, EndOfTests As Boolean)
Dim objTestNum As New TestNumGenerator
Select Case TestNum
Case objTestNum.NextNumber
TestName = "Instantiate an APDebit Object"
Test_InstantiateAPDebitObject
Case objTestNum.NextNumber
TestName = "Create an APDebit record."
Test_CreateAPDebit
Case objTestNum.NextNumber
TestName = "Load an APDebit record."
Test_LoadAPDebit
Case Else
EndOfTests = True
End Select
End Sub
Затем вы передаете свой класс в инфраструктуру UnitTest, и он вызывает для него метод RunTest.
Я могу поделиться кодом, если вы хотите отключить пользовательский интерфейс от реализации.