質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

PHPUnit

PHPUnitは、PHP向けのユニット・テスト向けフレームワークで、手動では手間のかかるテスト作業を自動化し、繰り返し実行することが可能です。

Eclipse

Eclipseは、IBM社で開発された統合開発環境のひとつです。2001年11月にオープンソース化されました。 たくさんのプラグインがあり自由に機能を追加をすることができるため、開発ツールにおける共通プラットフォームとして位置づけられています。 Eclipse自体は、Javaで実装されています。

XAMPP

XAMPP(ザンプ)は、ウェブアプリケーションの実行に必要なフリーソフトウェアをパッケージングしたApacheディストリビューションです。 XAMPPひとつインストールするだけで、Apache、MySQL、PHP、Perlなどのソフトウェアと、 phpMyAdminなどの管理ツール、SQLiteなどのソフトウェアやライブラリモジュールなどを利用することが可能です。

Q&A

解決済

1回答

4358閲覧

PHPUnitを使用したcoverage(html)を出力を行いたいです。

saki_study111

総合スコア13

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

PHPUnit

PHPUnitは、PHP向けのユニット・テスト向けフレームワークで、手動では手間のかかるテスト作業を自動化し、繰り返し実行することが可能です。

Eclipse

Eclipseは、IBM社で開発された統合開発環境のひとつです。2001年11月にオープンソース化されました。 たくさんのプラグインがあり自由に機能を追加をすることができるため、開発ツールにおける共通プラットフォームとして位置づけられています。 Eclipse自体は、Javaで実装されています。

XAMPP

XAMPP(ザンプ)は、ウェブアプリケーションの実行に必要なフリーソフトウェアをパッケージングしたApacheディストリビューションです。 XAMPPひとつインストールするだけで、Apache、MySQL、PHP、Perlなどのソフトウェアと、 phpMyAdminなどの管理ツール、SQLiteなどのソフトウェアやライブラリモジュールなどを利用することが可能です。

0グッド

0クリップ

投稿2021/09/12 13:21

PHPUnitを使用したcoverage(html)をeclipseから出力したいというのが目標です。※現在はコマンドプロンプトにてPHPUnitを動かしております。

[環境]
eclipse (all in one)
xamppを使用
php 7.4系
xdebug 2.8.1
phpunit 9.5.9

[試したこと]
composerはインストールを行いました。
プロジェクトのルートディレクトリで以下のコマンドを入力しした結果、
phpunit.xmlのfilterについてWarningとなりますが、調べましたがよくわかりませんでした。

https://qiita.com/t-kuni/items/3be84365060fdda9c024

・実行コマンド

phpunit ./tests/ColorTest.php --coverage-html ./tests

・結果
イメージ説明

[ディレクトリ構成]
イメージ説明

[Color.php]

<?php class Color { public static $name = "123"; // 変数 public static function getName() { // メソッド return "赤"; } } echo Color::$name; // 123 echo Color::getName(); // 赤 ?>

[ColorTest.php]

<?php declare(strict_types = 1); use PHPUnit\Framework\TestCase; require_once 'src/Color.php'; /** * Color test case. */ class ColorTest extends TestCase { /** * * @var Color */ private $color; /** * Prepares the environment before running a test. */ protected function setUp():void { parent::setUp(); // TODO Auto-generated ColorTest::setUp() $this->color = new Color(/* parameters */); } /** * Cleans up the environment after running a test. */ protected function tearDown():void { // TODO Auto-generated ColorTest::tearDown() $this->color = null; parent::tearDown(); } // /** // * Constructs the test case. // */ // public function __construct() // { // // TODO Auto-generated constructor // } /** * Tests Color::getName() */ public function testGetName():void { // TODO Auto-generated ColorTest::testGetName() $this->markTestIncomplete("getName test not implemented"); Color::getName(); } }

[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/9.3/phpunit.xsd" bootstrap="vendor/autoload.php" executionOrder="depends,defects" forceCoversAnnotation="true" beStrictAboutCoversAnnotation="true" beStrictAboutOutputDuringTests="true" beStrictAboutTodoAnnotatedTests="true" failOnRisky="true" failOnWarning="true" verbose="true"> <testsuites> <testsuite name="default"> <directory suffix="Test.php">tests</directory> </testsuite> </testsuites> <coverage processUncoveredFiles="true"> <include> <directory suffix=".php">src</directory> </include> </coverage> <filter> <whitelist processUncoveredFilesFromWhitelist="true"> <directory suffix=".php">tests</directory> </whitelist> </filter> </phpunit>

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自己解決

コマンドプロンプトから出力することができました。

[composerをインストール]
Composer-Setup.exe

https://weblabo.oscasierra.net/php-composer-windows-install/

[phpunit.xml] 対象ディレクトリを修正

<coverage processUncoveredFiles="true"> <include> <directory suffix=".php">tests</directory> </include> </coverage>

[composer.json] composer.jsonと同階層に配置

{ "require" : { "php" : ">=7.1", "phpunit/phpunit-selenium" : "*", "php-webdriver/webdriver" : "1.8.0" }, "require-dev" : { "phpunit/phpunit" : "9.3", "pcov/clobber" : "2.0" }, "scripts" : { "test:coverage" : "phpunit --coverage-html coverage" } }

[コマンドプロンプトにて以下のコマンドを実施]

composer test:coverage

[結果]
イメージ説明

投稿2021/09/13 07:19

saki_study111

総合スコア13

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問