@typescripttdd/ts-auto-mock

Typescript transformer to unlock automatic mock creation for interfaces and classes


Keywords
typescript, spy, mock, auto, automatic, fake, mocking, testing, typescript-transformer
License
ISC
Install
npm install @typescripttdd/ts-auto-mock@1.4.1

Documentation

TS auto mock

Test npm version Downloads semantic-release Commitizen friendly GitHub Sponsor

All Contributors

Slack Need help? Join us on Slack

⚠️ This repository is now no longer maintained for new features development ⚠️

A few years ago we've created this project with the idea in mind that typescript transformers would be easier to configure.

Unfortunately the typescript team has no intention to improve the developer experience. You can see more information at this link.

We believe that stop developing new features is the best decision to inform who is currently using it and who find it for the first time.

We will keep fixing bugs and vulnerability.

Other reasons why this library might not be for you:

  • Typescript transformers works only when using the tsc typescript compiler. If you are using esbuild or swc you will not be able to use this library.
  • Test double are a double-edge sword. They have to be used carefully and at the right time. Increasing the number of test doubles could decrease the value of your tests. The amount of configuration required by this library might not justify the amount of test doubles that your application requires.

A TypeScript transformer that will allow you to create mocks for any types (interfaces, classes, etc.) without the need to create manual fakes/mocks.

Quick overview

import { createMock } from 'ts-auto-mock';

interface Person {
    id: string;

    getName(): string;

    details: {
        phone: number
    }
}

const mock = createMock<Person>();
mock.id // ""
mock.getName() // ""
mock.details // "{ phone: 0 }"

Changelog

Find the changelog here: Changelog.

Roadmap

You can find the roadmap of this project on the Wiki page: Roadmap.

Do you want to contribute?

Authors

Contributors ✨

Thanks goes to these wonderful people (emoji key):


Artem Kornev

🐛 💻

Fabian

🐛 💻

Geoffrey 'C0ZEN' Testelin

🐛 💻 🤔 🔧

Giulio Caprino

💬 💻 📖 🤔 🚇 🚧 📆

Marc

🐛 💻

Martin Jesper Low Madsen

🐛 💻 🤔

Vittorio Guerriero

💬 💻 🤔 🚇 🚧 📆 🔧

This project follows the all-contributors specification. Contributions of any kind welcome!

Sponsor ✨

Thanks to these people


Kenta Mukai

License

This project is licensed under the MIT License