bintzwing/tst/README.md

1.7 KiB

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:

$ 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:

$ cd PrivateBin/tst
$ phpunit

Or you can also use the phpunit installed as dependency of eris by composer:

$ 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:

$ 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:

$ 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:

$ cd PrivateBin/js
$ istanbul cover _mocha