bintzwing/tst/README.md

66 lines
1.7 KiB
Markdown

Running PHP unit tests
======================
In order to run these tests, you will need to install the following packages
and its dependencies:
* phpunit
* php-gd
* php-sqlite3
* php-curl (optional, for codeclimate test reporter)
* php-xdebug (optional, for code coverage reports)
* composer (to install eris property based unit tests)
Example for Debian and Ubuntu:
```console
$ sudo apt install phpunit php-gd php-sqlite php-curl php-xdebug composer
$ cd PrivateBin
$ composer update
```
To run the tests, just change into this directory and run phpunit:
```console
$ cd PrivateBin/tst
$ phpunit
```
Or you can also use the phpunit installed as dependency of eris by composer:
```console
$ cd PrivateBin/tst
$ ../vendor/phpunit/phpunit/phpunit
```
Running JavaScript unit tests
=============================
In order to run these tests, you will need to install the following packages
and its dependencies:
* npm
Then you can use the node package manager to install the latest stable release
of mocha and istanbul (for code coverage reports) globally and jsVerify, jsdom
and jsdom-global locally:
```console
$ npm install -g mocha istanbul
$ cd PrivateBin/js
$ npm install jsverify jsdom jsdom-global
```
Example for Debian and Ubuntu, including steps to allow current user to install
node modules globally:
```console
$ sudo apt install npm
$ sudo mkdir /usr/local/lib/node_modules
$ sudo chown -R $(whoami) $(npm config get prefix)/{lib/node_modules,bin,share}
$ ln -s /usr/bin/nodejs /usr/local/bin/node
$ npm install -g mocha istanbul
$ cd PrivateBin/js
$ npm install jsverify jsdom jsdom-global
```
To run the tests, just change into the `js` directory and run istanbul:
```console
$ cd PrivateBin/js
$ istanbul cover _mocha
```