Codemod to convert tests written in jest to ava.
Check fixtures/ folder to see some example.
npm i -g to-ava
to-ava ./jest.test.js
to-ava -p=ts ./jest.test.ts
to-ava -p=ts ./tests
It excludes files that are not test files. A file is supposed to contain tests if its name includes either test. either spec.
-
.toEqual -
.toBe -
.toBeNull -
.toBeFalsy -
.toBeTruthy -
.toMatchSnapshot -
.toBeDefined -
.toBeUndefined -
.toBeInstanceOf -
.toBeGreaterThan -
.toBeGreaterThanOrEqual -
.toBeLessThan -
.toBeLessThanOrEqual -
.toHaveLength -
.toHaveProperty
-
test.each() - trasnformation of test hooks (
before(),beforeEach(),after(),afterAll())
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');- nested
describe()- require manual rewriting of jest tests in order to remove nesteddescribe() - skipped tests
describe.skip(),it.skip()
npm t
- 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