Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Php Code Coverage Laravel Package

phpunit/php-code-coverage

phpunit/php-code-coverage collects, processes, and renders PHP code coverage data. Use it to start/stop coverage during tests, filter included files, and generate reports such as OpenClover XML from live runs or serialized coverage data.

View on GitHub
Deep Wiki
Context7
14.0.0

Added

  • SebastianBergmann\CodeCoverage\Serialization\Serializer class for serializing SebastianBergmann\CodeCoverage\CodeCoverage objects in a versioned format to a file
  • SebastianBergmann\CodeCoverage\Serialization\Unserializer class for unserializing SebastianBergmann\CodeCoverage\CodeCoverage objects from a file creating using SebastianBergmann\CodeCoverage\Serialization\Serializer
  • SebastianBergmann\CodeCoverage\Report\Facade class for generating reports from both SebastianBergmann\CodeCoverage\CodeCoverage objects (using Facade::fromObject()) as well as from data unserialized with SebastianBergmann\CodeCoverage\Serialization\Unserializer::unserialize() (using Facade::fromSerializedData())
  • #925: Serialized code coverage data (generated using PHPUnit's --coverage-php, for example) should use relative paths

Changed

  • #1142: The HTML report now uses a more colorblind-friendly blue/amber/orange palette
  • The HTML report's dashboard now uses PHP-rendered SVG bubble charts (coverage vs. complexity vs. executable lines) and CRAP index tables instead of client-side Billboard.js charts
  • The report generation classes are now internal; the new SebastianBergmann\CodeCoverage\Report\Facade class must be used for report generation
  • The format of the file written by SebastianBergmann\CodeCoverage\Serialization\Serializer is incompatible with the format of the file that was written by SebastianBergmann\CodeCoverage\Report\PHP in the past
  • The <build> element and its children of the XML report generated by SebastianBergmann\CodeCoverage\Report\Xml\Facade require the optional arguments to be passed to the process() method
  • The TestSize and TestStatus value objects are now enumerations

Fixed

  • Configuring colors for the HTML report no longer worked after support for dark mode was added

Removed

  • The SebastianBergmann\CodeCoverage\Report\PHP class was removed, use the new SebastianBergmann\CodeCoverage\Serializer class instead
13.0.2

Fixed

  • #1143: Race condition in CachingSourceAnalyser::read() with parallel test runners
13.0.1

Fixed

  • #1135: Internal methods driverIs*() must not assume that CodeCoverage::$driver is set
12.5.3

Fixed

  • #1135: Internal methods driverIs*() must not assume that CodeCoverage::$driver is set
13.0.0

Removed

  • This component is no longer supported on PHP 8.3
12.5.2

Fixed

  • #1131: Invalid XML generated when both PCOV and Xdebug are loaded
11.0.12

Fixed

  • #1092: Error in DOMDocument::saveXML() is not handled
  • #1131: Invalid XML generated when both PCOV and Xdebug are loaded
12.5.1

Changed

  • #1125: Improve performance of XML report by using XMLWriter instead of DOM
12.5.0

Added

  • Option to not generate the <source> element for the XML report

Changed

12.4.0

Added

  • #1095: Support for light/dark mode in HTML report
12.3.8

Fixed

  • #1092: Error in DOMDocument::saveXML() is not handled
  • #1094: No branch and path coverage in HTML report
12.3.7

Changed

  • Do not use __sleep() method (which will be deprecated in PHP 8.5)
12.3.6

Fixed

  • #1091: HTML report renderer uses code coverage driver
12.3.5

Changed

  • #1090: Only export properties for configuration, code coverage data, and test results when serializing CodeCoverage
12.3.4

Changed

  • Improved performance of MapBuilder::build()
12.3.3

Changed

  • #1085: Improve performance by skipping empty lines after filter has been applied
11.0.11

Changed

  • #1085: Improve performance by skipping empty lines after filter has been applied
12.3.2

Changed

  • Add coverage and complexity columns to class and method complexity tables
  • Add CRAP to graph tooltip

Fixed

  • #1081: Class complexity scatter chart tooltips show incorrect class
11.0.10

Changed

  • Changed CSS for HTML report to not use common ligatures as this sometimes lead to hard-to-read code
  • Updated Bootstrap to version 5.3.6 for HTML report
12.3.1

Changed

  • Changed CSS for HTML report to not use common ligatures as this sometimes lead to hard-to-read code
  • Updated Bootstrap to version 5.3.6 for HTML report
12.3.0

Changed

  • #1080: Support for reporting code coverage information in OpenClover XML reporter; unlike the existing Clover XML reporter, which remains unchanged, this new reporter validates against the OpenClover project's XML schema definition, with one exception: we do not generate <testproject> element. This feature is experimental and the generated XML might change in order to improve compliance with the OpenClover project's XML schema definition further. Such changes will be made in bugfix and/or minor releases even if they break backward compatibility.
12.2.1

Changed

  • Safeguard file_get_contents() call with is_file() call to avoid problems with error handlers that act on suppressed warnings
12.2.0

Changed

  • #1074: Use more efficient AttributeParentConnectingVisitor
  • #1076: Replace unmaintained JavaScript library for charts with billboard.js
  • Reduced number of I/O and hashing operations when using the static analysis cache
  • Use SHA-256 instead of MD5 to generate cache keys for static analysis cache (as SHA-256 is significantly faster than MD5 with PHP >= 8.4 on modern CPUs)
12.1.2

Fixed

  • #1069: Check for unintentionally covered code is wrong
12.1.1

Fixed

  • Child classes of child classes are not considered for ClassesThatExtendClass target
12.1.0

Changed

  • CacheWarmer::warmCache() now returns the number of cache hits and cache misses
12.0.5

Fixed

  • #1064: Code Coverage targets are handled in case-sensitive manner
12.0.4

Fixed

  • #1063: HTML report highlights argument named fn differently than other named arguments
11.0.9

Changed

  • Changed version identifier for static analysis cache from "MD5 over source code" to Version::id()
  • The SebastianBergmann\CodeCoverage\Filter::includeUncoveredFiles() and SebastianBergmann\CodeCoverage\Filter::excludeUncoveredFiles() methods are no longer deprecated

Fixed

  • #1063: HTML report highlights argument named fn differently than other named arguments
12.0.3

Fixed

  • #CoversClass does not target code in parent class(es)
12.0.2

Changed

  • Changed version identifier for static analysis cache from "MD5 over source code" to Version::id()
12.0.1

Fixed

  • #1061: Enumerations cannot be targeted for code coverage
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
davejamesmiller/laravel-breadcrumbs
artisanry/parsedown
christhompsontldr/phpsdk
enqueue/dsn
bunny/bunny
enqueue/test
enqueue/null
enqueue/amqp-tools
milesj/emojibase
bower-asset/punycode
bower-asset/inputmask
bower-asset/jquery
bower-asset/yii2-pjax
laravel/nova
spatie/laravel-mailcoach
spatie/laravel-superseeder
laravel/liferaft
nst/json-test-suite
danielmiessler/sec-lists
jackalope/jackalope-transport