smack-my-jasmine-up
v0.2.1
Published
A hacky code that allows getting test case names from Jest / Jasmine tests.
Downloads
4
Readme
What is this?
This is a very hacky solution to this issue on Jasmine's GitHub.
Jasmine's devs did a tremendous job making it difficult to get any information about the current test execution environment. In my opinion, this is a design flaw.
Please use it with care and good intentions.
How does it work?
it
andfit
are overriden like in Pyrolistical's comment- spec's name is assigned to a global variable
- assertion closure runs
- spec's name is unassigned
How do I use it?
Unit testing
First, add the project as a test dependency in package.json
file (see most recent version in npm):
"devDependencies": {
"smack-my-jasmine-up": "^version"
...
}
Next, import JasmineSmacker
in your test file (or any class that runs within a test):
const JasmineSmacker = require('smack-my-jasmine-up');
Finally, fetch the test case's name and use it for whatever reason:
const currentTestName = JasmineSmacker.getCurrentTestName();
if (currentTestName !== undefined) {
console.log(`cool, we are within ${currentTestName}!`)
}
Contribution guidelines
All I ask for is tests and documentation in form of JS docstrings. Feel free to submit a PR if you feel like it.
Changelog
0.2.0
- renamed "definitions" to "descriptions", wops
- moved changelog to the bottom of README
0.1.1
- added support for fetching test ~~definition~~ names
0.1.0
- upgraded for Jest ^29.6.1 and Jasmine ^5.0.2
JasmineSmacker.getCurrentSpec()
is no longer supported
0.0.x
- initial implementation, worked with Jest up to ^26.6.3