1.0.1 • Published 9 months ago

jasmine-data_driven_testing v1.0.1

Weekly downloads
-
License
MIT
Repository
github
Last release
9 months ago

jasmine-data_driven_testing

With this TypeScript plugin for Jasmine 5.x, data-driven testing is very easy.

Contents

With this package you can run data-driven Jasmine tests for your TypeScript code. The output is displayed in your terminal by default.

Documentation

https://github.com/pekarasa/jasmine-data_driven_testing

Quick Start

Installation:

  • First install Jasmine as described at jasmine.

  • Then jasmine-data_driven_testing is installed with:

    npm install --save-dev jasmine-data_driven_testing

Write your first test:

import { all } from "jasmine-data_driven_testing";

describe("blank values are invalid", function () {
    all<any>([
        [""],
        [null],
        [undefined]
    ], "blank values are invalid", function (param: string) {
        // act
        let isBlank: boolean = true;
        if (param) {
            isBlank = false;
        }
        // assert
        expect(isBlank).toBe(true);
    });
}

Getting Started

Simply import { * } from "jasmine-data_driven_testing";. Now you have three functions available to you:

Data Drive Tests:

all(description, dataset, callback);

Data Driven Tests, marked as pending:

xall(description, dataset, callback);

Data Driven Tests, marked as focused:

fall(description, dataset, callback);

Data Driven Tests

Data Driven Tests have three basic components:

  1. The description
  2. The dataset, which is an array of arguments passed to the spec function
  3. The spec function

A quick example:

import { all } from "jasmine-data_driven_testing";

describe("blank values are invalid", function() {
    all<any>([
        [""],
        [null],
        [undefined]
    ], "blank values are invalid", function(value) {
            expect(isEmpty(value)).toBe(true);
    });
}

The call to all above is equivalent to these native Jasmine method calls:

describe("blank values are invalid", function() {
 
    it('blank values are invalid Nr. 1 ("")', function() {
        expect(isEmpty("")).toBe(true);
    });
 
    it('blank values are invalid Nr. 2 (null)', function() {
        expect(isEmpty(null)).toBe(true);
    });
 
    it('blank values are invalid Nr. 3 (undefined)', function() {
        expect(isEmpty(undefined)).toBe(true);
    });
 
});

While the all method is extended to the Jasmine it method, the xall method is extended to the xit method and the fall method is extended to the fit method.

Support

Documentation: github.com/pekarasa/jasmine-data_driven_testing Please file issues here at GitHub.

Copyright (c) 2024 Peter Portmann This software is licensed under the MIT License.

1.0.1

9 months ago

1.0.0

9 months ago