例如: 如果从SQL中获取的数据正确地填充到ListView中, 如果ListView排序按预期工作(新集成的功能), 如果生成docx并且docx具有适当的格式, 如果计算正确完成。
这样做是正确的方法吗?还是有更好的方法?目前启动我的应用程序大约需要5-10秒钟,所以这不是什么大问题,但也许有比我现在这样做更好的方法。
我在一台电脑上独自编写此应用程序。
在Visual Studio中应用单元测试:使用Visual Studio Team Test进行单元测试演练
MSDN上有更多关于开发和测试的内容:
所有内容可在这里找到。
鉴于代码库的规模,似乎没有完全从头开始重构代码的能力。
如果你在刚开始的时候,我会建议你使用测试驱动开发(TDD),并尽可能将用户界面代码与其余代码分开,因为自动化测试非常难以测试。我仍然建议您阅读一些关于TDD的文章,以及用户界面设计模式。
但从你所说的来看,似乎你想寻找的是一种通过现有代码前进的方法,我假设这种方法不适用于自动化测试,因为这似乎不太可能。
在这种情况下,你可能正在做正确的事情。确保添加功能和测试之间的时间尽可能短,有助于检查你的代码是否符合预期,因为当你进行测试时,你不会忘记自己的目标。
如果你发现编译和加载应用程序浪费了很多时间,尝试将相关更改捆绑在一起,特别是在进行简单更改时。这应该可以帮助你正确地平衡。
虽然我假设您无法对现有代码进行大规模更改,但您可能能够以更可测试的方式编写新代码,并为其编写单元测试,但您必须权衡具有多种不同编码风格的代码的成本与具有一个连贯风格的代码的成本。
我没有使用过winforms测试框架的经验(只有像Watin这样的Web测试框架),但我知道有许多Windows窗体测试框架,例如NUnitForms。这些框架自动化测试您的winforms应用程序,以测试屏幕上是否出现某些文本,按钮单击是否将您带到预期位置等。
这些UI测试框架永远无法完美地消除每个角落的情况,但始终比根本没有它们更有用。
您可以在单元测试中检查文件是否存在。为了获得适当的格式-最好的方法可能是adhoc测试-即有人使用一组脚本编写的测试查看输出(通常在Excel中)。
这是单元测试的主要素材,有大约6个.NET框架可用于此。其中一个已经内置于Visual Studio 2005+中。