1.2.0 • Published 4 years ago

itworksjs v1.2.0

Weekly downloads
2
License
MIT
Repository
github
Last release
4 years ago

itworks

A simple node unit testing library. It is completly error driven and doesn't need any additional dependencies.

Installation

npm install --save-dev itworksjs

Usage

Create a test file, and set it as npm test in the package.json file. In the test file, follow this example:

const {it, works} = require("itworksjs")

it("should be able to evaluate expressions", ()=>{
    if(1+1*2 != 3){
        throw new Error(`Evaluated 1+1*2 as ${1+1*2} instead of 3`)
    }
})

it("should think 1+1=3",()=>{
    if(1+1 != 3){
        throw new Error(`Evaluated 1+1 as ${1+1} instead of 3`)
    }
})

works()

Then, when testing

[O]: It should be able to evaluate expressions
[X]: It should think 1+1=3 FAILED: Evaluated 1+1 as 2 instead of 3
Tests Finished, Result: 1/2 Passed    

Example using functions

// tested.js
function a(y,z){
    return z+y
}

function b(y,z){
    return y-z
}

module.exports = {a:a}

// test.js
const {it, works, functions} = require("itworksjs")

const {a,b} = functions(["a", "b"]).from("./tested.js")

it("should be able to add", ()=>{
    if(a(1,1) != 2){
        throw new Error(`a(1,1) = ${a(1,1)}`)
    }
})

it("should be able to substract", ()=>{
    if(b(3,4) != -1){
        throw new Error(`b(3,4) = ${b(3,4)}`)
    }
})

works()

Which gives the result:

[O]: It should be able to add
[O]: It should be able to substract

Tests Finished, Result: 2/2 Passed

It Works!

Functions

  • it(message, code): Takes a message (text displayed when testing and identifier) and a function, and adds it to a global tests object (which is created if it doesn't already exist).

  • works(): Tests all functions in the tests object, considers them failed if they throw an error (which is displayed). The function also returns passedTests, totalTests.

  • functions(functionlist).from(file): Similar to the require function. Imports the functions (given as an array of strings) even if they are not in module.exports.

  • arrayEquals(array1, array2): Checks recursively if two arrays are equal.


Note

console functions were replaced with empty ones, to suppress console logs. Use the new console.print function instead.

1.2.0

4 years ago

1.1.1

4 years ago

1.1.0

4 years ago

1.0.6

4 years ago

1.0.5

4 years ago

1.0.4

4 years ago

1.0.3

4 years ago

1.0.2

4 years ago

1.0.1

4 years ago

1.0.0

4 years ago