在StackOverflow和其他网站上花了几个小时阅读有关单元测试和测试驱动开发的文章后,我知道了两件事:
这里有很多关于细节,最佳实践等的好帖子,但我正在寻找的是初学者教程/介绍 - 甚至可能是一本书。
我从哪里开始?假设我什么都不知道。 :)
答案 0 :(得分:4)
获取图书Pragmatic Unit Testing in C# with NUnit或Test-Driven Development with Microsoft.NET并完成其中一项。这些原则适用于许多不同的测试框架,尽管具体的习语可能不同。
答案 1 :(得分:2)
并在此处查看(与单元测试相关的MSDN网络广播):
http://www.google.com/search?q=unit+testing+site%3Amsevents.microsoft.com
答案 2 :(得分:2)
编写一个简单的计算器类,其中包含一些操作方法和指标的属性。在编写课程时创建单元测试。
然后阅读有效使用旧版代码 - 它将向您展示如何将单元测试添加到旧的讨厌项目中。
答案 3 :(得分:2)
对我来说,我开始为一些低级字符串操作代码编写单元测试。我创建了一个新项目作为测试并链接在字符串库中。然后,我通过每个方法并为它们编写了单元测试 - 边界条件,已知输入的预期输出等。起初它看起来像一个无意识的超常化然后.........
我发现了一个BUG !!
我卖了。
所以现在我正在增加测试项目,因为我在图书馆的食物链上移动。
答案 4 :(得分:2)
我会下载ReSharper(以及以下插件:Exceptional,Agent Smith,Agent Johnsson),这是提高代码质量和加快开发速度的首选工具。 Resharper不是免费的,但值得花钱;)
然后下载Xunit:http://xunit.codeplex.com
创建测试很简单:
public class MyObjectTest
{
MyObject _objectToTest = new MyObject();
[Fact]
private void TestStart()
{
_objectToTest.Start();
Assert.True(_objectToTest.IsStarted);
}
}
与xunit集成的ReSharper将在每个测试方法旁边显示一个图标。该图标允许您直接在IDE中测试(和调试)该方法,而无需启动整个程序。不能轻松。
大多数开发人员会说测试驱动开发意味着您首先创建测试,然后创建测试后的对象。我通常从创建类开始,向其添加必需的方法,然后创建测试。它有点快,当你开始构建测试时,你可能会开始重构这个类。
创建类时,大部分时间都会记录每个方法。文档应该激发方法存在的原因,它对参数的期望以及它返回的内容。如果你无法正确描述它,你很可能不得不重构它。