gpt4 book ai didi

c# - 将测试类拆分为部分类?

转载 作者:行者123 更新时间:2023-12-04 17:59:26 24 4
gpt4 key购买 nike

我正在寻找一种在 .NET 项目中组织单元测试的好方法。现在,我有一个 TestClass每个应用程序类,每个方法都有多个测试。虽然我正在使用 TestCategory对每个进行分类 TestMethod通过它测试的应用程序类方法,找到我的测试方法变得笨拙。

我正在考虑将我的测试类拆分为部分类 - 每个应用程序类方法一个部分类。这意味着我可以有多个 TestMethod每种方法在一个专用文件中,而不必通过大文件来查找它们。

这种方法有什么缺陷吗?是否有更好的方法来处理 .NET 和 Visual Studio 中的大型测试类?

编辑:我正在使用 IoC(我们在测试之外使用 CaSTLe.Windsor 进行 DI)并且我们使用 Moq 进行模拟功能。测试用 TestInitialize 初始化.

最佳答案

看看我的回答C# ASP.NET MVC Controller unit test .
它的要点是:

  • 一个静态类,它包装给定的所有测试
    被测系统。
  • 您所在的每个测试场景的测试类
    从基类继承的运行

  • 这个设置的另一个好处是它为您提供了一个很好的测试树,如果您使用 resharper 单元测试 session 能够轻松找到您的测试。

    至于第一个答案,您不应该在测试中使用 DI 框架。应该模拟/伪造所有外部依赖项,以便您仅测试被测系统。

    并用于使用部分类。见 Are C#'s partial classes bad design?

    我同意 Carra 的观点,使用部分类来拆分长类被认为是糟糕的设计。如果您的类(class)如此之大,也许需要将其拆分。

    关于c# - 将测试类拆分为部分类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37302255/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com