Counsel

Elegant testing framework for JavaScript and Vue.js.

Get Started →

It's like PHPUnit

If you love using PHPUnit, this testing framework is made for you.

It's different

It's different from others like jasmine, mocha, ava or jest. No callbacks.

Vue.js support

It contains an elegant API for testing Vue.js components out of the box.

IO testing

It provides an elegant feature for writing Input/Output tests within yaml.

Async/Await

It supports async/await code testing out of the box.

Beautiful reporting

You will love the beautiful reporting, which is 100% customizable.

class ArrayTest extends TestCase
{
    /** @test */
    it_is_possible_to_push_items_to_an_array()
    {
        let array = [];
        this.assertCount(0, array);

        array.push('Counsel', 'Unit testing');
        this.assertCount(2, array);
    }

    /** @test */
    it_is_possible_to_pop_an_item_from_an_array()
    {
        let array = ['Counsel', 'Unit testing'];
        this.assertCount(2, array);

        let lastItem = array.pop();
        this.assertEquals('Unit testing', lastItem);
        this.assertCount(1, array);
    }
}