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
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago