【问题标题】:Single thread for C# unit testing suiteC# 单元测试套件的单线程
【发布时间】:2015-06-08 11:38:41
【问题描述】:

有没有办法在单线程中运行 C# 测试?我不是在寻找线程安全的,而是寻找单个线程。实际上我的 COM 组件只能在单线程中使用,所以当我运行我的第一个测试时它运行良好,但是一旦它进入另一个它就会失败,因为 COM 组件不能分配给另一个线程”

【问题讨论】:

  • 你指的是哪个测试框架?
  • C#单元测试框架?
  • 哪个 C# 单元测试框架?
  • @AbhishekSharma,哪一个? MSTest、NUnit、XUnit、ANOtherUnit?每个人都有不同的方式来处理这种情况。
  • Microsoft.VisualStudio.TestTools.UnitTesting;

标签: c# unit-testing com interop


【解决方案1】:

MSTest doesn't support single-threaded testing。因此,您将不得不使用另一个测试框架。存在许多选项,但 NUnitXUnit 都可以满足您的需求并且都很受欢迎。

【讨论】:

    【解决方案2】:

    VSTest.Console.Exe 假设替换 MSTest。它使用单线程 - 参见How does the Visual Studio 2012 test runner apply threading?

    如果您使用 .runsettings 解决方案(例如,请参阅 Configure unit tests by using a .runsettings file )Visual Studio 将运行 VSTest.Console.Exe。

    更多关于 MSTest/VStest 差异的细节在Choose and configure a test runner

    【讨论】:

      猜你喜欢
      • 2023-03-21
      • 2010-09-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多