66 lines
1.7 KiB
Markdown
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
|
|
```
|
|
|