Skip to content

Jezorko/smack-my-jasmine-up

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

License: WTFPL Deployment Status Tests Most recent version in NPM

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?

  1. it and fit are overriden like in Pyrolistical's comment
  2. spec's name is assigned to a global variable
  3. assertion closure runs
  4. 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

About

A hacky code that allows getting test case names from Jest / Jasmine tests.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published