C# 通过不同线程通过单元测试

C# 通过不同线程通过单元测试,c#,multithreading,nunit,C#,Multithreading,Nunit,我有一个性能问题,只有在我的应用程序处理大量数据时才可见 试图进行单元测试以确保良好的性能是不可行的,因为即使在最好的情况下,运行一次也需要5分钟以上 我希望确保我的性能不会变得更差,但我不希望其他测试必须等待5分钟(或更长)才能开始。我的第一次尝试是让这个测试在一个单独的线程上运行,但这意味着[test]将始终作为有效线程通过 NUnit是否支持在不同的线程中同时运行不同的测试 也许我需要的不是单元测试,我会很高兴听到建议。单元测试应该运行得非常快(远小于1秒),并且应该在内存中运行,所以如果

我有一个性能问题,只有在我的应用程序处理大量数据时才可见

试图进行单元测试以确保良好的性能是不可行的,因为即使在最好的情况下,运行一次也需要5分钟以上

我希望确保我的性能不会变得更差,但我不希望其他测试必须等待5分钟(或更长)才能开始。我的第一次尝试是让这个测试在一个单独的线程上运行,但这意味着[test]将始终作为有效线程通过

NUnit是否支持在不同的线程中同时运行不同的测试


也许我需要的不是单元测试,我会很高兴听到建议。

单元测试应该运行得非常快(远小于1秒),并且应该在内存中运行,所以如果我们谈论5分钟。在加载数据时,我们讨论的是集成测试。您应该使用(例如)以下约定为集成测试创建新项目,从而将该测试与单元测试分开:

  • 项目测试单元
  • 项目测试集成
有关单元测试和集成测试之间差异的更多信息,请访问:
。在加载数据时,我们讨论的是集成测试。您应该使用(例如)以下约定为集成测试创建新项目,从而将该测试与单元测试分开:

  • 项目测试单元
  • 项目测试集成
有关单元测试和集成测试之间差异的更多信息,请访问: .

NUnit还支持测试夹具上的“类别”。因此,如果您使用不同的类别创建一个新的测试夹具,那么您可以指定要在套件中运行的类别。这是决定要一起运行的测试类型的一种很好的方法。您可以构建不同的套件来运行不同的测试组

NUnit还支持测试夹具上的“类别”。因此,如果您使用不同的类别创建一个新的测试夹具,那么您可以指定要在套件中运行的类别。这是决定要一起运行的测试类型的一种很好的方法。您可以构建不同的套件来运行不同的测试组


旁注:运行5分钟的东西通常不被称为“单元测试”……我应该更好地称之为“集成测试”吗?我理解滥用这个词。这就是为什么我认为应该有更合适的东西来代替NUnit(或任何单元测试套件)来保证良好的性能和“舒适性”。旁注:运行5分钟的东西通常不被称为“单元测试”…我应该更好地称之为“集成测试”吗?我理解滥用这个词。这就是为什么我认为应该有更合适的东西来代替NUnit(或任何单元测试套件)来保证良好的性能和“舒适性”。