是的,我知道我落后于时代,但我在这里得到的是一个古老的VB6编辑器应用程序,我相信没有人会很快升级到.NET.它使用了几个第三方DLL工具,因为它仍然使用旧的RichEdit控件,我基本上可以仅用这个工具来提升我自己的Bug场.
足够了,我正在试图看看我是否可以使用TDD,所以我可以开始为我需要修复的每个行为/功能编写单元测试,所以迟早我可以为这个工具提供一个完整的回归测试套件.即使在未来,如果我们升级到.NET,我认为我编写的大多数测试应该有助于验证正确的行为,并且应该可以升级到.NET版本,我想.
一些基本的谷歌搜索发送给我这个工具调用simplyVBunit,但我找不到足够的指南等让我开始,是的我不是那么精通VB6 :(
那么有谁知道我为这个VB6应用程序使用TDD的任何好工具/资源?[最好以后可以升级到.NET以防万一.]
或者我可以通过解决方法实际使用.NET的单元测试框架,即NUnit等?
或者有更好的方法来完成这项工作?
谢谢 :)
我已经尝试搞乱了vbunit,但我发现没有简单的方法将它添加到现有的应用程序或至少不知道如何.因此我发现这也与vb-lite-unit以及这个comunit一起玩.还有一些说法我们可以将NUnit与vb6一起使用,但是资源更少.
我使用SimplyVBUnit获得了非常流畅的TDD体验.我认为代码附带的示例非常明显.
启动时最初加载的表单包含控件.然后在Form_Load子中你:
AddTest New TestDifferentAsserts
TestDifferentAsserts是一个vb类.它看起来像这样:
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
事实上,明天我正在我的计算机上重装vb6,只需简单地在我的计算机上进行攻击.
[加编辑]
这是我在VB6中的项目资源管理器:
Form1是simplevbunit控件所在的位置.
该项目的源代码.
如果您有第三方控件,谁在乎.用立面包裹它们.然后从立面创建一个存根.
如果您需要进一步的帮助,请发表评论.
VBUnit在VB6项目的前客户端上对我很有用.
我遇到的情况是我们有一个巨大的VB6应用程序正在迁移到.NET.迁移版本已经过完全单元测试.
我们采用的方法是通过COM互操作从.NET单元测试VB6应用程序.到目前为止我们发现的主要优点是VB6开发人员最终学习TDD(以及它所暗示的所有内容):
方法论:先测试,然后再编码..
架构:SoC,凝聚力,干燥,......
技术:测试和模拟框架,IoC容器......
此解决方案极大地提高了迁移版本的代码质量,因为他们了解如何以一种使测试更容易的方式构建事物.此外,还有可能在VB6和.NET版本上使用相同的测试.
不确定此解决方案是否针对您的问题进行了过度架构.您应该评估是否适用于您的情况.
问候.