PHPUnit не предоставляет таких утверждений, и вы обычно не используете модульные тесты для проверки вашей способности печатать.Они должны проверить, что код работает во время выполнения.Вот еще несколько бессмысленных модульных тестов:
- Утверждение, что класс называется
CorrectClassName
. - Утверждение, что
function foo() { return 5; }
возвращает 5
. - УтверждениеКомментарии к функциям не содержат слова «выигрыш».
Теперь иногда вы просто хотите что-то сделать, даже если это не рекомендуется или имеет небольшую ценность.Я знаю, что.:) Добавьте это к классу базового теста:
/**
* Assert that a method has public access.
*
* @param string $class name of the class
* @param string $method name of the method
* @throws ReflectionException if $class or $method don't exist
* @throws PHPUnit_Framework_ExpectationFailedException if the method isn't public
*/
function assertPublicMethod($class, $method) {
$reflector = new ReflectionMethod($class, $method);
self::assertTrue($reflector->isPublic(), 'method is public');
}
Завершение assertProtectedMethod()
и assertPrivateMethod()
оставлено в качестве упражнения.Вы можете сделать то же самое для свойств, и вы могли бы даже сделать этот метод более универсальным для обработки метода или свойства - в зависимости от того, что найдено - и выдать какую-то другую ошибку, если ни один не существует.