Are there any good TDD tools or resources for VB6?

本秂侑毒 提交于 2019-11-27 07:41:59

VBUnit worked well for me at a former client on a VB6 project.

Gutzofter

I've had very smooth TDD experience using SimplyVBUnit. I thought the sample the code comes with was pretty self-explanatory.

Your initially loaded form at start-up contains the control. Then in the Form_Load sub you:

 AddTest New TestDifferentAsserts

The TestDifferentAsserts is a vb class. It looks something like this:

Public Sub TestFloatCompareTolerance()
   ' we will use the default tolerance of 0.00001
   Assert.AreEqual 9#, 9.000001, "Should be equal!"

   ' The Expected value must be a Double or Single
   ' for the tolerance to be used in the comparison.
   Assert.AreEqual 9, 9.000001, "This will fail because we didn't use a float for the expected value."
End Sub

In fact tomorrow I'm reloading vb6 on my computer to hack around on my computer with simplyvbunit.

[ADDED EDIT]

This is my project Explorer in VB6:

Form1 is where the simplyvbunit control is located.

The source code for this project.

If you have third party controls, who cares. Wrap them with a facade. Then create a stub from the facade.

If you need further help, leave a comment.

I'm in the situation were we have a huge VB6 application which is on the way to be migrated to .NET. The migrated version is fully unit tested.

The approach we've taken is to unit test the VB6 application from .NET via COM interop. The main advantage we found so far is that VB6 developers end up learning TDD (and all what it implies):

  • Methodology: test first, code afterwards..
  • Architecture: SoC, cohesion, DRY, ...
  • Technology: testing and mocking frameworks, IoC containers...

This solution is improving hugely the code quality of the migrated version as they understand how to architecture things in a way that makes testing easier. Also, there's a potential opportunity to use the same tests on the VB6 and the .NET version.

Not sure if this solution is over-architectured for your problem. You should assess whether or not is applicable or suitable in your situation.

Regards.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!