tes

testcom

Write tests in javascript comments

Showing:

Popularity

Downloads/wk

1

Maintenance

No Maintenance Data Available

Package

Dependencies

7

License

Type Definitions

Tree-Shakeable

No?

Categories

Readme

✅ ❌ Testcom Build Status codecov Join the chat at https://gitter.im/testla-talks/Lobby

Write tests in JS comments! (inspired by JSDoc)

Description

Testcom - simple testing framework for Node.js platfrom (later maybe for client). It allows to write tests to functions in comments to this function (yea, like in JSDoc) in simple format. This library first done for small scripts, you no need more files to test your app and you can take tests and docs in one moment.

Usage

1) Install Testcom:

npm install testcom --save-dev

2) Write Testcom-tests in block comment before function that you want to test:

// example.js

/*T
  (2, 2) => 4
  (4, 3) => 7
*/
function summ(a, b) {
    return a + b;
}

/*T
  (2, 2) => 4
  (4, 3) => 12
*/
function mull(a, b) {
    return a * b;
}

/*T
  ({a: 1, b: 1}) => { a: 1, b: 1 }
*/
function objective(obj) {
  return obj;
}

/*T
  ([1, 2, 3]) => [3, 2, 1]
*/
function reverseArray(arr) {
  return arr.reverse();
}

module.exports.summ = summ;
module.exports.mull = mull;
module.exports.objective = objective;
module.exports.reverseArray = reverseArray;

3) Create simple config:

// config.testcom.js

{
  'test': [
    '.examples/example.js'
  ]
}

4) Run tests:

testcom config.testcom.js

Result

More examples here

Features

1) Change export naming

  /*T
    ExportAs: fakeSumm
    (2, 2) => 4
    (-1, 1) => 0
  */
  function summ(a, b) {
    return a + b;
  }

  ...

  module.exports.fakeSumm = summ;

2) Test async functions

  /*T
    (2000, cb) => cb(null, { result: true })
  */
  function asyncFunc(fuckingParam, callback) {
    // ... async magic ...
    callback(null, { result: true });
  }

3) Test async/await functions:

  /*T
    () => 'text'
  */
  async function asyncAwait() {
    await Promise.fromNode(cb => setTimeout(cb, 0));
    return 'text';
  }

4) Test errors:

  /*T
    () => Error
  */
  function returnError() {
    throw new Error();
  }

Rate & Review

Great Documentation0
Easy to Use0
Performant0
Highly Customizable0
Bleeding Edge0
Responsive Maintainers0
Poor Documentation0
Hard to Use0
Slow0
Buggy0
Abandoned0
Unwelcoming Community0
100
No reviews found
Be the first to rate

Alternatives

No alternatives found

Tutorials

No tutorials found
Add a tutorial