Kahlan\Reporter\Coverage\Collector::metrics PHP Метод

metrics() публичный Метод

Gets the collected metrics from coverage data.
public metrics ( ) : Metrics
Результат Metrics The collected metrics.
    public function metrics()
    {
        $this->_metrics = new Metrics();
        foreach ($this->_coverage as $file => $rawCoverage) {
            $root = $this->parse($file);
            $coverage = $this->export($file);
            $this->_processed = ['loc' => -1, 'nlloc' => -1, 'lloc' => -1, 'cloc' => -1, 'coverage' => -1];
            $this->_processTree($file, $root->tree, $coverage);
        }
        return $this->_metrics;
    }

Usage Example

Пример #1
0
     $code = new ExtraEmptyLine();
     $this->collector->start();
     $code->shallNotPass();
     $this->collector->stop();
     $metrics = $this->collector->metrics();
     $actual = $metrics->get('some\\unknown\\name\\space');
     expect($actual)->toBe(null);
 });
 it("ignores interfaces metrics", function () {
     $path = ['spec/Fixture/Reporter/Coverage/ImplementsCoverage.php', 'spec/Fixture/Reporter/Coverage/ImplementsCoverageInterface.php'];
     $collector = new Collector(['driver' => $this->driver, 'path' => $path]);
     $code = new ImplementsCoverage();
     $collector->start();
     $code->foo();
     $collector->stop();
     $metrics = $collector->metrics();
     $actual = $metrics->get('Kahlan\\Spec\\Fixture\\Reporter\\Coverage\\ImplementsCoverage')->data();
     $files = $actual['files'];
     unset($actual['files']);
     expect($actual)->toBe(['loc' => 6, 'nlloc' => 5, 'lloc' => 1, 'cloc' => 1, 'coverage' => 1, 'methods' => 1, 'cmethods' => 1, 'percent' => 100]);
     $path = realpath('spec/Fixture/Reporter/Coverage/ImplementsCoverage.php');
     expect(isset($files[$path]))->toBe(true);
     expect($metrics->get('Kahlan\\Spec\\Fixture\\Reporter\\Coverage\\ImplementsCoverageInterface'))->toBe(null);
     expect($collector->export())->toBe([str_replace('/', DS, 'spec/Fixture/Reporter/Coverage/ImplementsCoverage.php') => [7 => 1]]);
 });
 describe("->children()", function () {
     beforeEach(function () {
         $code = new ExtraEmptyLine();
         $this->collector->start();
         $code->shallNotPass();
         $this->collector->stop();