Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

DEPRECATED PHP Test Reporter

License

NotificationsYou must be signed in to change notification settings

codeclimate/php-test-reporter

Repository files navigation

Build StatusCode ClimateTest Coverage

codeclimate-test-reporter - [DEPRECATED]

These configuration instructions refer to a language-specific test reporter which is now deprecated in favor of our new unified test reporter client. Thenew test reporter is faster, distributed as a static binary, has support for parallelized CI builds, and will receive ongoing support by the team here. The existing test reporters for Ruby, Python, PHP, and Javascript are now deprecated.

Collects test coverage data from your PHP test suite and sends it toCode Climate's hosted, automated code review service.

Code Climate -https://codeclimate.com

Important: If you encounter an error involving SSL certificates, see theKnown Issue: SSL Certificate Error section below.

Important FYIs

Across the many different testing frameworks, setups, and environments, there are lots of variables at play. Before setting up test coverage, it's important to understand what we do and do not currently support:

  • Single payload: We currently only support a single test coverage payload per commit. If you run your tests in multiple steps, or via parallel tests, Code Climate will only process the first payload that we receive. If you are using a CI, be sure to check if you are running your tests in a parallel mode.

    Note: There is one exception to this rule. We've specifically built an integration withSolano Labs to support parallel tests.

    Note: If you've configured Code Climate to analyze multiple languages in the same repository (e.g., Ruby and JavaScript), we can nonetheless only process test coverage information for one of these languages. We'll process the first payload that we receive.

  • Invalid File Paths: By default, our test reporters expect your application to exist at the root of your repository. If this is not the case, the file paths in your test coverage payload will not match the file paths that Code Climate expects.

Requirements

There are several requirements you'll need in order to use the PHP test reporter on your system:

The test reporter uses thePHPUnit testing tool to generatecode coverage information. These results show how much of your application's code is being executed by your unit tests. PHPUnit can't generate this information on its own though - it needs another tool,Xdebug. This isnot included as a part of the PHPUnit (or PHP) install by default so you'll need to install it yourself.

Xdebug is installed as an extension to PHP, not a library. You can find more information about installing the tool via PECLon the project website.

If you execute your PHPUnit tests with the--coverage-clover option and receive the message "The Xdebug extension is not loaded. No code coverage will be generated." you will need to visit the Xdebug website and install the extension. If you do not, you'll most likely get an error something like this:

PHP Warning:  simplexml_load_file(): I/O warning : failed to load external entity "[...]/build/logs/clover.xml" in [...]/vendor/satooshi/php-coveralls/src/Contrib/Bundle/CoverallsV1Bundle/Api/Jobs.php on line 52

Installation

This package requires a user, but not necessarily a paid account, onCode Climate, so if you don't have one the first step is to signup at:https://codeclimate.com.

Via composer

To install php-test-reporter with Composer run the following command.

$ composer require codeclimate/php-test-reporter --dev

This will get you the latest version of the reporter and install it. If you do want the master, untagged, version you may use the command below:

$ composer require codeclimate/php-test-reporter:@dev --dev

As PHAR tool

Checkout thelatest release here and replaceX.X.X with the latest version.

$ RELEASE=X.X.X$ wget -c"https://github.com/codeclimate/php-test-reporter/releases/download/$RELEASE/codeclimate-test-reporter.phar"

Usage

  • Generate coverage data tobuild/logs/clover.xml

Add the following to phpunit.xml.dist:

<?xml version="1.0" encoding="UTF-8"?><phpunit ...>  <logging>    ...    <logtype="coverage-clover"target="build/logs/clover.xml"/>    ...  </logging></phpunit>

Or invokephpunit as follows:

$ phpunit --coverage-clover build/logs/clover.xml
  • Specifying your repo token as an environment variable, invoke thetest-reporter:
$ CODECLIMATE_REPO_TOKEN="..." vendor/bin/test-reporter# ... or via PHAR ...$ CODECLIMATE_REPO_TOKEN="..." codeclimate-test-reporter.phar upload

TheCODECLIMATE_REPO_TOKEN value is provided after you add your repoto your Code Climate account by clicking on "Setup Test Coverage" on theright hand side of your feed.

Please contacthello@codeclimate.com if you need any assistance settingthis up.

Troubleshooting

If you're having trouble setting up or working with our test coverage feature,see our detailed help doc, which covers the most common issues encountered.

Known Issue: SSL Certificate Error

If you encounter an error involving SSL certificates when trying to reportcoverage data from your CI server, you can work around it by manually postingthe data viacurl:

after_script:  -CODECLIMATE_REPO_TOKEN="..." bin/test-reporter --stdout > codeclimate.json  -"curl -X POST -d @codeclimate.json -H 'Content-Type: application/json' -H 'User-Agent: Code Climate (PHP Test Reporter v0.1.1)' https://codeclimate.com/test_reports"

Note: In the command above, you may need to changebin/test-reporter tovendor/bin/test-reporter, depending on your project's directory structure.

More details can be found inthis issue.

Contributions

Patches, bug fixes, feature requests, and pull requests are welcome onthe GitHub page for this project:

https://github.com/codeclimate/php-test-reporter

This package is maintained by Bryan Helmkamp (bryan@codeclimate.com).

For more details, seeCONTRIBUTING.md.

Copyright

See LICENSE.txt

Portions of the implementation were inspired by the php-coverallsproject.


[8]ページ先頭

©2009-2025 Movatter.jp