https://github.com/wisersolutions/test-js
Default setup for testing JavaScript/React packages with Jest
https://github.com/wisersolutions/test-js
Last synced: 11 months ago
JSON representation
Default setup for testing JavaScript/React packages with Jest
- Host: GitHub
- URL: https://github.com/wisersolutions/test-js
- Owner: WiserSolutions
- License: mit
- Created: 2018-09-27T08:41:40.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2023-07-18T20:17:37.000Z (almost 3 years ago)
- Last Synced: 2024-04-14T04:48:48.229Z (about 2 years ago)
- Language: JavaScript
- Size: 4.6 MB
- Stars: 0
- Watchers: 36
- Forks: 2
- Open Issues: 11
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# test-js
Default setup for testing JavaScript/React packages with Jest
## Use
Install using
```sh
npm install @wisersolutions/test-js
```
Add a test script to your `package.json`
```json
{
"scripts": {
"test": "test-js"
}
}
```
or just run it using `npx test-js`. This simply launches `jest` with a default setup tailored
for testing packages containing React components - with `enzyme` and `jest-enzyme` to automatically
include `React`, and the render functions in the global scope and add `enzyme-matchers`. Your
component tests can now be as simple as:
```jsx harmony
describe('Component', () => {
it('renders with defaults', () => {
expect(shallow()).toMatchSnapshot()
})
})
```
If you need to customise the configuration, use `@wisersolutions/test-js/lib/defaultConfig.js` as defaults.
If you also need to extend the test framework setup, don't forget to include `@wisersolutions/test-js/lib/setup.js`
from your setup file or simply extend `setupFilesAfterEnv` config instead of replacing it.
## Development
### Install
Install dependencies using:
```sh
npm install
```
### Develop
After you modify sources, run the following (or set up your IDE to do it for you):
- format the code using `npm run format`
- lint it using `npm run lint`
- test it using `npm test`
and fix the errors, if there are any.
### Publish
Publishing is done in two steps:
1. Create a new version tag and push it to the repository:
```sh
npm version
git push --follow-tags
```
1. Build and publish the new version as a npm package:
```sh
npm publish --access public
```