在多线程中拆分 nunit 测试

发布于 2025-01-11 20:53:27 字数 221 浏览 0 评论 0原文

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

I test a shop website. I have tests for one user. The tests are sequential and take a long time. The problem is that when tests for same user are run in parallel, they can interfere with each other (for example, in one test, the item was added to the cart, and in the other it was removed). I want to add a second user and run the tests in parallel. So I need to somehow specify that tests for different users are executed in different threads.
Unfortunately, the attribute [Parallelizable] does not provide such an opportunity. Is there some way to explicitly specify which tests should be run in each of the threads?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

巷雨优美回忆 2025-01-18 20:53:27

创建用户提供者。
在该类中,您应该创建一个用户集合。
您需要两种方法:

1 - 从集合中获取和删除用户。

2 - 返回用户到集合

所有方法都应该用lock包装。

返工测试方法,例如:

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

Create UserProvider.
In that class, you should create a collection with users.
And you need two methods:

1 - get and delete the user from the collection.

2 - back user to collection

All methods should be wrapped with lock.

Rework test methods like:

// get a user from UserProvider.
try
{
  // test method code
}
finally
{
  // return user to UserProvider
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文