user4779
user4779

Reputation: 817

How to have playwright workers execute separate logical paths in an NUnit test?

I have a Playwright test which I'm running via the following command - dotnet test -- NUnit.NumberOfTestWorkers=2

From what I can gather, this will execute the same test in parallel with 2 workers. I'm curious if there's any way to have each worker go down a separate logical path, perhaps depending upon a worker id or something similar? Eg:

if (workerId == 1) //do something

else if (workerId == 2) //do something else

What would be the best way to do this?

As to why I want this, I have a Blazor Server app which is a chat room, and I want to test the text updating from separate users (which would be represented by different worker ids, for example). I'd also like the solution to be scalable, eg: I can enter 5000 or so workers to test large scalability in the chat room.

Upvotes: 0

Views: 420

Answers (1)

Charlie
Charlie

Reputation: 13736

You appear to have misunderstood what the NumberOfTestWorkers setting does. It simply tells NUnit how many separate test workers to set up. It does not have any impact on how NUnit allocates tests among it's workers, when running in parallel. And it does not cause an individual test to run more than once.

In general, the kind of load testing you are trying to do isn't directly supported by NUnit. You would have to build something of your own, possibly using NUnit or try a framework intended for that kind of testing.

A long time ago, there was something called pnunit, but I don't believe it is kept up to date any longer. See https://docs.plasticscm.com/technical-articles/pnunit-parallel-nunit

Upvotes: 1

Related Questions