Почему покрытие коды выдает мне 0 phpunit?

Всем привет, продолжаю изучение PHPUnit и тестирование в целом. Хочу узнать покрытие тестами.
Мой код
<?php

namespace app;
class User2
{
    private $password;

    public function getPassword()
    {
        if (isset($this->password)) {
            return $this->password;
        } else {
            return null;
        }
    }

    public function setPassword($login)
    {
        if (is_string($login)) {
            $this->password = $this->cryptPassword($login);
            return true;
        }
        return false;
    }

    protected function cryptPassword($login)
    {
        return md5(uniqid($login));
    }
}


Код теста
<?php

namespace tests;

use PHPUnit\Framework\TestCase;
use app\User2;

class User2Test extends TestCase
{
    public function invokeMethod(&$object, $methodName, array $parameters = [])
    {
        $reflection = new \ReflectionClass(get_class($object));
        $method = $reflection->getMethod($methodName);
        $method->setAccessible(true);
        return $method->invokeArgs($object, $parameters);
    }

    public function testGetPassword()
    {
        $obj = new User2();
        $login = 'login';
        $obj->setPassword($login);
        $this->assertEquals(32, strlen($obj->getPassword()));
    }

    public function testCryptPassword()
    {
        $obj = new User2();
        $login = 'login';
        $password = $this->invokeMethod($obj, 'cryptPassword', [$login]);
        $this->assertEquals(32, strlen($password));
    }
}


phpunit.xml
<?xml version="1.0" encoding="UTF-8"?>
<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/6.5/phpunit.xsd"
         bootstrap="vendor/autoload.php"
         forceCoversAnnotation="true"
         beStrictAboutCoversAnnotation="true"
         beStrictAboutOutputDuringTests="true"
         beStrictAboutTodoAnnotatedTests="true"
         verbose="true"
        colors="true">
    <testsuite name="default">
        <directory suffix="Test.php">tests</directory>
    </testsuite>

    <filter>
        <whitelist processUncoveredFilesFromWhitelist="true">
            <directory suffix=".php">app</directory>
        </whitelist>
    </filter>
</phpunit>


выполняю данную команду "phpunit --coverage-html tests\coverage" открываю User2.php.html и вижу
5a398d8d99b81485194025.png

А в консоли вот что
5a398db74e8a5556002373.png

Объясните, пожалуйста, что делаю не так. Заранее спасибо!
  • Вопрос задан
  • 165 просмотров
Пригласить эксперта
Ответы на вопрос 1
Sanasol
@Sanasol Куратор тега PHP
нельзя просто так взять и загуглить ошибку
английским по черному же написано что тесты пропущены и почему пропущены

https://phpunit.de/manual/3.7/en/appendixes.annota...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы