Marvinette
An easy-to-use functional testing framework
Marvinette Documentation


  1. Clone the repository
  2. Move it to your $HOME folder (or a directory where you wouldn't want to move the repository)
  3. Inside the repository, execute the following command:
php MarvinetteInstall.php

Warning If installation fails, try installation using sudo

  1. (Only For Windows) Add the path of the marvinette folder to your PATH environment variable

Warning: Once you executed the command, you must not move the Marvinette folder. If you do, you'll have to execute the install command again


  1. Before anything else, you must create your project's configuration file for Marvinette. To do so:
    • go to your project's directory
    • execute the following command:
marvinette --create-project
marvinette --mod-project
  1. You can now create your first functional test!
    • execute the command:
marvinette --add-test

Your tests are ready to be executed!

marvinette --execute-test

You will be asked to choose which test to execute

marvinette --execute-tests

Use the framework using the following command-line instructions:

marvinette [option]
option:
--create-project: Create a main configuration file, required to make tests
--create-sample-project: Create a sample configuration file. The values will be changed by the user.
--del-project, --delete-project: Delete configuration file and existing tests
--mod-project: Modify the project\'s info.
--add-test, --create-test: Create a functional test
--create-sample-test: Create a sample test file. The values will be changed by the user.
--mod-test: Modify a functional test
--del-test, --delete-test: Delete a functional test
--execute-test,--exec-test : Execute a test
--execute-tests, --exec-all : Execute all tests
-h, --help: display this usage

The framework's configuration file, Marvinette.json, holds the following information:

If you do not want to use the command-line interface to configure your project, use the --create-sample-project. It will create a sample configuration file and you change the values by yourself

Upon test creation, several files are generated in the testFolder/testName folder:

Any of the fields can be null. If that's the case, the described action will not be executed.

If a setup, stdout/stderrFilter or teardown command doesn't return 0, the test will fail.

Upon creation, feel free to change the files' content by yourself. Be careful not to leave any useless line breaks of trailing spaces


You can use Marvinette on an Unix-based OS or on Windows!

Also, you'll need PHP >= 7.4. No other library needed (the vendor folder and composer configuration file are used for Marvinette's unit tests)