Check if the test has failed. If true, it will contain a failure message.
Check if the test has passed. If true, it will contain a value.
For passed tests, map the passed value to another value. Failed tests will remain unchanged.
This will not mutate the test result, and instead return a new test result.
For passed tests, asynchronously map the passed value to another value. Failed tests will remain unchanged.
This will not mutate the test result, and instead return a new test result.
A failed test result. This should not be constructed manually. Instead,
testFail
should be used.