Extension:MWUnit/Risky and skipped tests

From mediawiki.org
Jump to navigation Jump to search

MWUnit performs additional checks when it performs tests. These checks ensure the validity of the tests and inform the user about possibly invalid tests or misconfigurations.

Risky tests[edit]

Invalid @covers annotation[edit]

MWUnit can be configured, through the $wgMWUnitStrictCoverage configuration parameter, to be strict about invalid/untruthful @covers annotations. When enabled, a test will be marked as risky if the template a test @covers is not used directly, or indirectly, in a test case.

Useless tests[edit]

By default, MWUnit is strict about tests that do not perform any assertions. A test that does not perform any assertions will be marked as risky.

Invalid assertions[edit]

MWUnit is always strict about tests with invalid assertions. An assertion is invalid when it contains too few parameters or parameters of an incorrect type. A test that has one or more invalid assertions will be marked as risky.

A test will not be marked as invalid when an assertion has too many parameters.

Mocked covers template[edit]

A test will be marked as risky when the template that test should cover is mocked.

Skipped tests[edit]

Tests marked as skipped are never run, because they are either broken or marked with @skip.

Invalid context[edit]

MWUnit is always strict about tests using an invalid context annotation. The context annotation must either be empty, "canonical" or "user". A test that has an invalid context annotation will be skipped.

Invalid user[edit]

MWUnit requires the user specified in @user to be an existing user. If the user specified does not exist, the test will be skipped.

Missing permissions for user mock[edit]

A test will be skipped when it is required to be run as another user, but running tests as another user is disabled or disallowed.

Missing required extensions[edit]

A test will be skipped if one or more extensions specified through @requires is missing.

See also[edit]