zubora-cli

0.3.18 • Public • Published

Zubora CLI

Zubora Sloth Logo

npm version

Introduction

Zubora CLI is a JavaScript Unit Test File Generator. It is made for zubora ("lazy" in Japanese) developers. It generates unit test templates for you.

The test template will be written in BDD (Behaviour-Driven Development) syntax.

Input

export function greeter(person: string) {
  return 'Hello, ' + person;
}
 
class iAmClass {
  constructor() {}
  async myAsync() {
    return await 'It takes some time';
  }
  myMethod(str: string) {
    return str;
  }
}
 
function iWillBeRenamed() {
  return true;
}
 
async function iAmDefaultAndAsync() {}
 
export {
  iAmClass,
  iWillBeRenamed as iAmRenamed,
  iAmDefaultAndAsync as default,
};

Output

import foobar, { greeter, iAmClass, iAmRenamed } from './foobar';
describe('greeter', function () {
  describe('greeter', function () {
    it('', function () {
      // TODO Write test for greeter
    });
  });
});
describe('iAmClass', function () {
  describe('#constructor', function () {
    it('', function () {
      // TODO Write test for iAmClass#constructor
    });
  });
  describe('#myAsync', function () {
    it('', async function () {
      // TODO Write test for iAmClass#myAsync
    });
  });
  describe('#myMethod', function () {
    it('', function () {
      // TODO Write test for iAmClass#myMethod
    });
  });
});
describe('iAmRenamed', function () {
  describe('iAmRenamed', function () {
    it('', function () {
      // TODO Write test for iAmRenamed
    });
  });
});
describe('foobar', function () {
  describe('foobar', function () {
    it('', async function () {
      // TODO Write test for foobar
    });
  });
});

Playground

Before you install the CLI, try it in The Zubora Page.

Installation & Usage

How to install

# Install 
$ npm install -g zubora-cli
# Generate test file 
$ zubora --src <source file path> --dest <test file path>

Usage

For example, your project looks like this:

root
├── src
|   └── modules
|       └── tsModule.ts
└── __tests__
└── package.json

src/modules/tsModule.ts

class Greeter {
  greeting: string;
  constructor(message: string) {
    this.greeting = message;
  }
  greet() {
    return 'Hello, ' + this.greeting;
  }
}
export default Greeter;

Then when you run the command like below:

zubora --src src/modules/tsModule.ts --dest __tests__/tsModule.spec.js

It generates a test template for tsModule.ts in the __tests__ directory.

__tests__/tsModule.spec.js

import tsModule from '../src/modules/tsModule';
describe('Greeter', function () {
  describe('#constructor', function () {
    it('', function () {
      // TODO Write test for tsModule#constructor
    });
  });
  describe('#greet', function () {
    it('', function () {
      // TODO Write test for tsModule#greet
    });
  });
});

Supported File Type

We're only supporting module files.

  • Source File: We're currently supporting JavaScript and TypeScript files.
  • Destination File: Test template file is currently generated as a JavaScript file.

Plugins

We have developed plugin system.

Plugin Usage

Install the plugin and add this snippet in your package.json:

"zubora" : {
  "plugins" : ["zubora-plugin-coffee"]
}

License

MIT - see LICENSE

Package Sidebar

Install

npm i zubora-cli

Weekly Downloads

3

Version

0.3.18

License

MIT

Unpacked Size

33 kB

Total Files

15

Last publish

Collaborators

  • wataru