Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 帮助我开始在VisualStudio2008中进行单元测试_.net_Visual Studio_Unit Testing_Tdd - Fatal编程技术网

.net 帮助我开始在VisualStudio2008中进行单元测试

.net 帮助我开始在VisualStudio2008中进行单元测试,.net,visual-studio,unit-testing,tdd,.net,Visual Studio,Unit Testing,Tdd,在StackOverflow和其他网站上,我花了几个小时阅读了关于单元测试和测试驱动开发的文章后,我知道了两件事: 我想用它 我不知道从哪里开始 这里有很多关于细节、最佳实践等的好帖子,但我要找的是初学者教程/介绍-甚至可能是一本书 我从哪里开始?假设我什么都不知道 在 也请查看此处(与单元测试相关的MSDN网络广播): 拿一本书或一本书,读一读。这些原则将适用于许多不同的测试框架,尽管具体的习惯用法可能有所不同。编写一个简单的计算器类,其中包含一些操作方法和指标属性。编写类时创建单元测试 然后

在StackOverflow和其他网站上,我花了几个小时阅读了关于单元测试和测试驱动开发的文章后,我知道了两件事:

  • 我想用它
  • 我不知道从哪里开始
  • 这里有很多关于细节、最佳实践等的好帖子,但我要找的是初学者教程/介绍-甚至可能是一本书


    我从哪里开始?假设我什么都不知道

    也请查看此处(与单元测试相关的MSDN网络广播):


    拿一本书或一本书,读一读。这些原则将适用于许多不同的测试框架,尽管具体的习惯用法可能有所不同。

    编写一个简单的计算器类,其中包含一些操作方法和指标属性。编写类时创建单元测试


    然后阅读如何有效地使用遗留代码——它将向您展示如何将单元测试添加到旧的讨厌的项目中。

    对于我来说,我是从为一些低级字符串操作代码编写单元测试开始的。我创建了一个新项目作为测试并链接到字符串库中。然后,我研究了每一种方法,并为它们编写了单元测试——边界条件、已知输入的预期输出等等。起初,这看起来像是一个无意识的练习,但后来

    我发现了一只虫子

    我被出卖了

    因此,现在我正在向我们的库中的食物链更高的位置添加测试项目。

    我将下载#1工具(以及以下插件:Exception、代理Smith、代理Johnsson),以提高代码质量和加快开发。 Resharper不是免费的,但它是值得的;)

    然后下载Xunit:

    创建测试很简单:

    public class MyObjectTest
    {
      MyObject _objectToTest = new MyObject();
    
      [Fact]
      private void TestStart()
      {
        _objectToTest.Start();
        Assert.True(_objectToTest.IsStarted);
      }
    }
    
    与xunit集成的ReSharper将在每个测试方法旁边为您提供一个图标。该图标允许您直接在IDE中测试(和调试)该方法,而无需启动整个程序。再容易不过了

    大多数开发人员会说,测试驱动开发意味着您首先创建测试,然后创建对象。我通常从创建类开始,将强制方法添加到类中,然后创建测试。这会更快一点,当您开始构建测试时,您可能会开始重构类


    创建类时,将大部分时间用于记录每个方法。文档应该激发方法存在的原因、它对参数的期望以及它返回的内容。如果你不能正确地描述它,你很可能不得不重构它。

    帮助我开始学习英语,或者至少在单击“post”之前阅读我的帖子。我还推荐Roy Osherove即将出版的“单元测试的艺术”-