-
-
Notifications
You must be signed in to change notification settings - Fork 3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
🚀 Feature: Add a global variable in tests indicating the test runner name and version #5084
Comments
Hey @JoshuaKGoldberg, |
Ah, thanks @CheadleCheadle - but this issue hasn't been marked as accepted 😦. We generally only accept feature-adding PRs for issues marked as We've been talking a bit on having a separate label to indicate "this is still in triage" for issues. I filed #5092 to make it. Sorry that the docs aren't super clear on this yet! |
Thanks @JoshuaKGoldberg for the clarification on the PR requirements. We'll put a pin in this one for now! |
Happy 2025: I'm taking the initiative and marking this as accepting PRs. |
Feature Request Checklist
faq
label, but none matched my issue.Overview
Mocha right now adds standard test hooks to
globalThis
:after
,describe
,it
, and so on. But there's nothing indicating that it's specifically Mocha being run, and not some other test framework. Would it be reasonable to add some variable likemocha
to the global scope?With this global variable, testing utilities would be able to statically determine the test framework (Mocha) without being explicitly told it in their configuration. This can be useful for utilities that hook into framework-specific APIs.
Suggested Solution
Alternatives
A
process.env
would work on the CLI / in Node.js, but not in all browser environments.Adding some string to a pre-existing global like
after
might work too, but seems hacky. Right nowafter.toString()
comes out to"function (name, fn) {\n suites[0].afterAll(name, fn);\n }"
.Additional Info
See JoshuaKGoldberg/console-fail-test#10: https://github.com/JoshuaKGoldberg/console-fail-test is a utility that runs during tests and uses the test framework's APIs to call testing hooks. It can sort of dynamically detect Mocha, but the implementation is brittle.
The text was updated successfully, but these errors were encountered: