How many test cases do you have?

Here is mine in recent project:

4 Likes

Rather big project at this point.
image

3 Likes

That’s indeed a big project.

My server tests (checking meteor subscriptions):
Screenshot 2025-11-27 at 16.21.40

My client tests (checking meteor methods):
Screenshot 2025-11-27 at 16.34.43

… almost 4k :grinning:

2 Likes

NodeOnFHIR / Care Commons has about ~2000 tests that have survived two major refactors now. We’ll be up to 3000+ by the time we finish HealthIT certification.

4 Likes

For the testing gods here, are you using meteortesting:mocha or other packages or a mix? And how long does it take you to run all these tests?

I have a hodge-podge of tests in mocha and vitest (previously jest) I’d like to streamline and then start expanding so I can refactor more fearlessly.

Yes. I’m using this one. I can test functions, methods, pub/sub, graphql query/mutation, subscription, file uploads.
It takes almost 2 minutes to run 1800 tests in my case.

1 Like

Are you using Tinytest or using another test runner ?
We have a discussion about replace tinytest by another test runner, I would like to know if someone already experimented it before.

Nightwatch is one of the best. Its focus is on E2E testing (aka Validation testing in the NASA/FDA “Validation and Verification” paradigm.). Initially a Walmart sponsored technology, of all things. Has great test runners, integrations with Mocha, Chai, BDD, etc.

We’ve been using it continuously with Meteor for nearly a decade.

3 Likes

I’m not using Tinytest.

Nightwatch is one of the best

Oh, that’s a new one to me! How did you find the set up for it with Meteor?

Personally I’ve only set up Cypress before but barely used it, using this guide. I’m assuming Nightwatch runs similarly, like a separate process?

1 Like

The early days were difficult, and I’ve spent quite a few days wrestling with it over the years. But it started getting a lot of big customers during the pandemic era, and it’s been upgraded to modern ES6 and has had a lot of features that promote integration in recent years. It still runs as an independent process/thread, but it uses a robust configuration file like Meteor’s settings file. Nowadays, I use Claude to write Nightwatch tests, then ask Claude to write code to pass the tests. The LLMs can really rip when everything is in Javascript and there are thoroughly documented APIs and data schemas!

1 Like