Well, for pending, it can make sense to have a default message, as the PendingException indicates that you are not done writing the example yet. It is not something you will keep in a spec normally. The default message is fine for most cases.

On the other hand, a skipped test is somthing which happens in a working spec suite. Running the example does not require updating the suite, but changing the runtime environment (enabling a PHP extension, installing a different version of a dependency, using a newer PHP version, etc...). The user should know about it.

the worse skipping code I saw in PHPUnit testsuite is probably tests using a comment to remember the reason like this:

```
if ($condition) {
    // skip the test as the feature is only available in some cases
    $this->markTestSkipped();
}
```