【问题标题】:C# Unit testing resourcesC# 单元测试资源
【发布时间】:2010-03-13 19:51:31
【问题描述】:

我从 Java 迁移到 C#,所以我想知道如何在 C# 中进行单元测试。我记得使用 JUnit 来测试我的 Java 应用程序。如何在 C# 中进行单元测试?使用默认单元测试库在 C# 中进行单元测试有哪些好的资源?我真的不需要端口。一个好的资源应该是一个很好的 PDF 文件、文章,或者更好的是一个视频!

【问题讨论】:

    标签: c# visual-studio unit-testing


    【解决方案1】:

    NUnit 实际上是 JUnit 到 .NET 领域的惯用端口。 Visual Studio 中还内置了一个单元测试框架,但由于您熟悉 JUnit,而且 NUnit 是免费的,因此我建议您这样做。

    对于模拟和存根,我喜欢Rhino Mocks

    最后,Roy Osherove 有一本很好的书 The Art of Unit Testing,它很好地讨论了一般的单元测试,但也会为您指出其他工具和资源。

    【讨论】:

    • 为罗伊的书+1。这不是一本很大的书(就像很多页一样),但写得很好。这本书结合现有项目的一些经验,让我加快了测试速度。
    • NUnit 和 JUnit 都是 SUnit for Smalltalk 的端口。 +1 为 Rhino Mocks。
    • 是的,罗伊的书非常出色。
    • Roy 的博客也是如此 - weblogs.asp.net/rosherove。如果一个人是单元测试的新手,新的 TypeMock Test Lint 应该特别有用。我特别推荐 Roy 的一个截屏视频,其中他批评了其他人的单元测试代码——这样你可以很快学到很多东西:weblogs.asp.net/rosherove/archive/tags/TestReview/default.aspx
    【解决方案2】:

    您没有提及您使用的是哪个版本的 VS,但如果是 VS 2010 RC,请尝试 Pex and Moles Visual Studio 2010 Powertools...

    "Pex 自动生成具有高代码覆盖率的测试套件。直接从 Visual Studio 代码编辑器中,Pex 找到您方法的有趣输入输出值,您可以将其保存为小型测试套件高代码覆盖率。Microsoft Pex 是用于测试 .NET Framework 应用程序的 Visual Studio 插件。"

    "Moles 允许用委托替换任何 .NET 方法。Moles 通过绕道和存根提供隔离来支持单元测试。Moles 框架由 Pex 提供,或者可以通过以下方式安装本身作为 Microsoft Visual Studio 插件。”

    视频:

    【讨论】:

      【解决方案3】:

      我喜欢使用 MSTest,因为它与 Visual Studio(大多数版本)捆绑在一起。

      还可以查看 NUnit 和 xUnit。

      对于测试运行器,我喜欢使用 ReSharper。

      【讨论】:

        【解决方案4】:

        对于模拟对象,另一个有趣的库是Moq。它有一些不错的特性,特别是如果你要测试 lambda 表达式和所有 LINQ 的东西(它对此有一些支持)。

        至于单元测试,我使用 NUnit,但强烈建议阅读 Introduction to Test Driven Design (TDD)

        【讨论】:

        【解决方案5】:

        什么,不喜欢MbUnit

        【讨论】:

          【解决方案6】:

          试试NUnit。您还可以查看 Visual Studio 2008 或 Visual Studio 2010 中的单元测试项目。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2010-09-11
            • 2014-08-21
            • 2013-10-29
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多