在多个线程中拆分 nunit 测试

Split nunit tests in miltiple threads

我测试了一个商店网站。我有一个用户的测试。测试是连续的,需要很长时间。问题在于,当对同一用户的测试 运行 并行进行时,它们可能会相互干扰(例如,在一个测试中,该项目被添加到购物车,而在另一个测试中它被删除)。我想添加第二个用户和 运行 并行测试。所以我需要以某种方式指定针对不同用户的测试在不同的线程中执行。 不幸的是,属性 [Parallelizable] 不提供这样的机会。有什么方法可以在每个线程中明确指定哪些测试应该 运行?

创建用户提供者。 在那个 class 中,您应该创建一个 collection 与用户。 你需要两种方法:

1 - 从 collection.

中获取并删除用户

2 - 将用户返回到 collection

所有方法都应该用lock包裹起来。

返工测试方法,例如:

// get a user from UserProvider.
try
{
  // test method code
}
finally
{
  // return user to UserProvider
}