<div style="text-align:center">
    <img src="https://files.ponicode.com/cli/Cover.gif" alt="ponicode-gui" width="950"/>
</div>

## 🦄 Ponicode has been acquired by CircleCI 🚀 [Read the announcement here](http://www.ponicode.com/blog/circleci-completes-acquisition-of-ponicode)

# Ponicode

## An AI-Powered Unit Testing Tool

Ponicode is a quick and easy AI-powered solution for Javascript, Typescript & Python unit testing.
Create your unit tests easily from your terminal. Just run a simple command to generate all the unit tests you need ✨.

Achieve high test coverage without writing a single line of code.
Learn more about Ponicode on [ponicode.com](https://ponicode.com).

---

## Install

Install ponicode:

```bash
npm i -g ponicode
```

# Usage

First login to ponicode:

```bash
ponicode login
# Follow the login process
```

Optionally configure where Ponicode should create test files:

```bash
ponicode init
# Answer few questions
```

You can now generate tests for your whole project in only one command 🙌:

```bash
cd /path/to/your/project
ponicode test ./
```

<div style="text-align:left">
    <img src="https://files.ponicode.com/cli/CLI-gif1.gif" alt="ponicode-gui" width="650"/>
</div>

You can use shell globs to select the files to unit test:

```bash
ponicode test *.js # all JS file
ponicode test folder/ # all files inside folder
```

<div style="text-align:left">
    <img src="https://files.ponicode.com/cli/CLI-gif3.gif" alt="ponicode-gui" width="250"/>
</div>
Your unit test files are automatically created within your project.

---

## Why Ponicode?

Ponicode is the perfect tool to increase and maintain your code coverage over time, but also to bring all your existing projects up to the level of quality you need.
Ponicode enables you to bootstrap the unit test creation and thus 💪 increase the robustness of your code and 🔎 detect bugs ahead of the curve.
Less technical debt, less bugs in production, less tedious code writing.
Each test scenario that Ponicode creates for your functions has unique context relevant inputs. We try to bring you as close as possible to an exhaustive unit test suite with both happy paths and edge cases.

---

## Features

### One command line AI powered Unit Test generation

Let our AI write the body of your tests and populate it with smart context specific inputs. We provide instant test suite generation. All you have left to do is to write your assertions.
A full test suite for your function in one click by choosing the best input values for your function to achieve the highest coverage.

### AI-Powered test scenario suggestions

Ponicode recommends the best test cases to achieve the highest coverage for your function. You will never again forget to test an edge case!

✔️ Don’t worry about test syntax anymore
✔️ Don’t forget risky scenarios
✔️ Focus on the added value
✔️ Save time on code writing
✔️ Upgrade legacy code quality in the blink of an eye

### Supported languages

- TypeScript
- JavaScript
- Python

---

## Resources

### Tutorials and Documentation

Take a look to our [detailed documentation](https://docs.ponicode.com/docs/cli/installation)

Watch this [one minute video](https://youtu.be/jTQUKsFdutA) to see Ponicode CLI in action.
You can find our documentation and our other solutions on ponicode.com

### Feedback, Support and Community

Join our [community slack](https://ponicode-community.slack.com/join/shared_invite/zt-fiq4fhkg-DE~a_FkJ7xtiZxW7efyA4Q#/) to chat with our team and other Ponicode users across the world! We will be glad to help you and hear your feedback. You will also be updated on our latest product releases.

You can also contact us on our social media profiles.

- [Twitter](https://twitter.com/PonicodeDev)
- [Linkedin](https://www.linkedin.com/company/ponicode)
- [Instagram](https://www.instagram.com/ponicode)
- [Facebook](https://www.facebook.com/PonicodeCom)

### Team

We are a passionate and multinational team with a genuine desire to create groundbreaking technology and practical solutions for developers.

---

## Keywords

coverage easy expect assertions unittest unit-test mocking test testing tdd bdd lowcode npm CLI Ponicode ai artificial-intelligence javascript typescript python

© 2023 Circle Internet Services, Inc.
