https://github.com/hhhhhhhhhn/itworks
A simple node unit testing library.
https://github.com/hhhhhhhhhn/itworks
node node-module nodejs unit-testing unittest
Last synced: 25 days ago
JSON representation
A simple node unit testing library.
- Host: GitHub
- URL: https://github.com/hhhhhhhhhn/itworks
- Owner: hhhhhhhhhn
- License: mit
- Created: 2020-02-15T15:42:32.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2020-05-31T18:22:05.000Z (about 6 years ago)
- Last Synced: 2025-09-09T06:32:07.893Z (9 months ago)
- Topics: node, node-module, nodejs, unit-testing, unittest
- Language: JavaScript
- Size: 18.6 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 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:
```javascript
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`
```javascript
// 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.