"SimplyVBUnit is a VB6 Unit Testing framework written in Visual Basic 6. It closely follows the GUI setup of NUnit. Creating Tests is a snap, as you don't need to implement anything, just add your tests to a new class and GO!"
You can find it at http://simplyvbunit.sourceforge.net
That's great. I'm curious, though. With all the other VB6 Unit Testing options out there, what was the impetus for creating this one? Was there something specific that this one handles, and the others do not handle well?
Ok, I have to ask. How did you find this page so quickly? Coincidence, I guess
I just put it not 10 minutes ago.
Anyways, to answer your question, I can only say that I've really had any experience with just one VB6 unit tester, COMUnit. I was tired of having to use a class that implements an interface and have to hand add the test names to an array within each test case. I decided to allow basically a freeform testcase to be written in a plain ol' class. If you wanted to have a Setup or Teardown function called for each test in the class, simply add a Setup or Teardown sub. It's all detected. I guess it was more for experience, than anything. And now I'm sharing.
My impetus was similar for writing VbLiteUnit. In my case, I had previously tried something like what you describe using tblinf32.dll for introspection, but I found it to be terribly unreliable for projects being actively worked on in the VB IDE. In VbLiteUnit, I gave up on the whole introspection thing, and found a way to make a Select Case statement work without worrying about copy-paste errors. What did you end up using for detecting tests?
Ah yes, I recognize VbLiteUnit
. You wrote that, that's cool. Well, I do use tlbinfo32.dll. I haven't had any of the problems you mention. I inspect for methods with no parameters and store them, looking for setup and teardown individually. That's how I get each test in a testcase. Is there something I should try to see if I can reproduce the tlbinfo32 problems you were getting?
I browsed to the VB XP sight. That's cool to see the activities in such a fine grain. It'll help me to see the process in action. And, you guys are in Portland. I'm over in Vancouver... small world.
You can join our group if you are interested - e-mail ne at firstname.lastname@example.org. Regarding the problems with tlbinf32 - First off, since I needed it to work in VBA, I couldn't use it to find the classes, but I could get it to find the methods of a class when passing an instance, so I was able to pass a suite, and have it discover all the tests in the test tree. That seemed to work, until after a while, it seemed to be trying to call previous incarnations of methods I had just modified. It was not seeing the newest revisions to the classes with random results including memory errors and crashes. The problems were infrequent enough that I initially thought I could live with it, but I found that I was avarse to using the code (and therefore didn't use the code) because I didn't trust its results.
Ah yes, I can see why you abandoned that route. I did forget to mention that an instance does need to be created and added to the unit test, like your RunTests?
method. If I begin to experience the same problems, I'm sure I'll drop it, aswell. And, I'll look into joining your group. I can always learn something.
Please use VbClassic
whenever possible, to differentiate the product from VbDotNet
Ok, I understand that, thanks.