to-ava v1.2.8
to-ava
Codemod to convert tests written in jest to ava.
Check fixtures/ folder to see some example.
Usage
Install
npm i -g to-ava
Run it on a Javascript file
to-ava ./jest.test.js
Run it on a Typescript file
to-ava -p=ts ./jest.test.ts
Run it on a folder
to-ava -p=ts ./tests
Notes
It excludes files that are not test files. A file is supposed to contain tests if its name includes either test. either spec.
Support
Supported Assertions
.toEqual.toBe.toBeNull.toBeFalsy.toBeTruthy.toMatchSnapshot.toBeDefined.toBeUndefined.toBeInstanceOf.toBeGreaterThan.toBeGreaterThanOrEqual.toBeLessThan.toBeLessThanOrEqual.toHaveLength.toHaveProperty
Other things supported
test.each()- trasnformation of test hooks (
before(),beforeEach(),after(),afterAll())
Assertions not supported
All the other assertions are not supported. Including all the assertions used in combination with .not - for example .not.toBeDefined()
Those assertions will be still transformed, however not into an ava assertion, but as a comment with the "TODO: " symbol. Thanks for the "TODO: " symbol, it will be possible to find all the assertions not transformed, and fix them manually.
For example
expect(res).toContain('0')
// will be transformed into
// TODO: expect(res).toContain('0');Other things not supported
- nested
describe()- require manual rewriting of jest tests in order to remove nesteddescribe() - skipped tests
describe.skip(),it.skip()
Test
npm t
TODO
- add support for beforeEach, beforeAll, afterEach, afterAll
- refactor: split the transformer into multiple functions, with clear names
- add support for more jest assertion. The list follows:
.not.toBeDefined.not.toBeNull.not.toContain.not.toEqual
- add support for nested describes
Resources
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago