spyryto/test-harness

There is no license information available for the latest version (1.3.0) of this package.

Easy-to-read and quick-to-write tests without configuration

1.3.0 2020-10-14 10:30 UTC

This package is auto-updated.

Last update: 2024-09-15 22:32:15 UTC


README

This low-code, one-file test harness lets you:

  • Write readable tests
  • Run them quickly
  • Easily create your matchers

Examples

<?php

describe ("expectEquals");

it ("works with simple values", function () {
	expect (1 + 1, is (2));
});

This will give you:

testing ...\test1.test.php

Passed tests  : 1/1

How to configure an automatic task

Add the task

Add the following task to your tasks.json in your .vscode folder:

"tasks":
	...
	[
		{
			"label": "tests",
			"type": "shell",
			"command": "php test-harness/src/tests.php",
			"group": {
				"kind": "test",
				"isDefault": true
			}
		},
	]
	...

If you have any Composer package, add the autoloader path:

"tasks":
	...
	[
		{
			"label": "tests",
			"type": "shell",
			"command": "php test-harness/src/tests.php prepend=src/vendor/autoload.php",
			"group": {
				"kind": "test",
				"isDefault": true
			}
		},
	]
	...

Run the tests

Press F1, type test, select this action: Tasks: Run test task.

You can configure a shotcut for that.

How to run from a single file

Put the tests.php file anywhere in your project.

Change the second-to-last line from

runAll(__DIR__ . '/../..');

to

runAll(__DIR__);

Then, on your command line:

php test.php

This will run all the *.test.php files in the folder you put the test.php in, and in all its subfolders.