2014年10月13日

ビシッ

先程、ふと疑問に思ったことがありますた。
NetBeans 君のメニュー等の表示は「coverage」のことを「カバーレージ」と表記しているのですた。
わたすは、古から「カバレッジ」と言ってきますた。
?????と思ったので、翻訳サイトで音声にて再生して何度も聞いてみますた。
「カバレッジ」と聞こえるのですが.....

同じようなのに、「ping」、「java」がありますね。

「ping」については、わたすは「ピング」と言っております。
ですが、「ピンポン」を語源とすると「ピン」がよろしいのですかね?

「java」については、業界内では「ジャバ」ですが、世間一般では「ジャワ」なのでは...
昔、モックンが宣伝していた「Javaティーストレート」は美味しかったです。

ちなみに、「Weblio 翻訳」で「ping」を翻訳したら、結果は「ビシッ」ですた。
あんた「ビシッ」って、wwwwwwwwwwwwww


posted by NERDY at 18:38 | Comment(0) | 技術 | このブログの読者になる | 更新情報をチェックする

NetBeans 君でテスト

1.PHPUnit のインストール
  composer.jsonに以下を追加する。
  "require": {
    "laravel/framework": "4.2.*",
    "phpunit/phpunit": "4.3.*@dev",
    "barryvdh/laravel-ide-helper": "1.*"
  },
  "autoload": {
    "classmap": [

  そんでもって、composer update を実行。
C:\develop\NetBeansTest>composer update
Loading composer repositories with package information
Updating dependencies (including require-dev)
 - Installing doctrine/instantiator (1.0.3)
  Downloading: 100%

 - Installing phpunit/php-text-template (1.2.0)
  Downloading: 100%

 - Installing phpunit/phpunit-mock-objects (2.3.0)
  Downloading: 100%

 - Installing sebastian/version (1.0.3)
  Downloading: 100%

 - Installing sebastian/exporter (1.0.2)
  Downloading: 100%

 - Installing sebastian/environment (1.1.0)
  Downloading: 100%

 - Installing sebastian/diff (1.2.0)
  Downloading: 100%

 - Installing sebastian/comparator (1.0.1)
  Downloading: 100%

 - Installing symfony/yaml (v2.5.5)
  Downloading: 100%

 - Installing phpunit/php-timer (1.0.5)
  Downloading: 100%

 - Installing phpunit/php-file-iterator (1.3.4)
  Downloading: 100%

 - Installing phpunit/php-token-stream (1.3.0)
  Downloading: 100%

 - Installing phpunit/php-code-coverage (2.0.11)
  Downloading: 100%

 - Installing phpunit/phpunit (4.3.x-dev 0600525)
  Downloading: 100%

phpunit/phpunit-mock-objects suggests installing ext-soap (*)
phpunit/phpunit suggests installing phpunit/php-invoker (~1.1)
Writing lock file
Generating autoload files
A new helper file was written to _ide_helper.php
Generating optimized class loader
Compiling common classes
Compiling views

C:\develop\NetBeansTest>

2.テストコードを用意
  app/tests/APITest.php を書きます。
<?php

class APITest extends TestCase {

  // Laravel は $this->call を使うと、
  // 簡単に HTTP リクエスト送出のテストが出来るのですた。

  //パスの一部を引数として受け取る例をテスト
  public function testShow1()
  {
    $response = $this->call('GET', '/curry2/完全無視');
    $this->assertEquals("<h1>インド人完全無視カレー</h1>\n<p>いやしかし、このセンス笑っちゃう!</p>\n", $response->getContent());
  }

  //クエリストリングを受け取る例をテスト
  public function testShow2()
  {
    $response = $this->call('GET', '/curry2', array('mes1' => 'もびっくり', 'mes2' => 'なんか腹へった'));
    $this->assertEquals("<h1>インド人もびっくりカレー</h1>\n<p>なんか腹へった</p>\n", $response->getContent());
  }

  //Json でのやりとり例をテスト
  public function testShow3()
  {
    $pdata = json_encode(array('name'=>'デーモン閣下', 'age'=>300000000));
    $response = $this->call('POST', '/curry2', array(), array(), array(), $pdata);
    $afterDecode = json_decode($response->getContent(), true);

    $expect = array('name'=>'デーモン閣下', 'age'=>300000000, 'weight'=>10000);
    $actual = array('name'=>$afterDecode['name'], 'age'=>$afterDecode['age'], 'weight'=>$afterDecode['weight']);

    $this->assertEquals($expect, $actual);
  }
}

3.phpunit.xml を編集
  プロジェクトフォルダ直下の phpunit.xml を編集します。
  おいらは以下のようにしますた。
<?xml version="1.0" encoding="UTF-8"?>
<phpunit backupGlobals="false"
     backupStaticAttributes="false"
     bootstrap="bootstrap/autoload.php"
     colors="true"
     convertErrorsToExceptions="true"
     convertNoticesToExceptions="true"
     convertWarningsToExceptions="true"
     processIsolation="false"
     stopOnFailure="false"
     syntaxCheck="false"
>
  <testsuites>
    <testsuite name="Sample test suite">
      <!-- テストケースファイルのサフィックスを指定 -->
      <!-- ディレクトリーを指定すれば、その下のサブフォルダー内のファイルも実行される -->
      <directory suffix=".php">./app/tests/</directory>
    </testsuite>
  </testsuites>
  <!-- このログ出力はJenkinsで結果を表示する場合に使用、なんだそーです -->
  <!-- なんかわからんがいれときます。 -->
  <!-- Jenkins 君も勉強せにゃーならんだろーし -->
  <logging>
    <!-- Cloverカバレッジレポートを使用する場合、次の2つのログが必要、なんだそーです -->
    <log type="coverage-html" target="./coverage" title="Base32"
       charset="UTF-8" yui="true" highlight="true"
       lowUpperBound="35" highLowerBound="70"/>
    <log type="coverage-clover" target="./coverage/clover.xml"/>
  </logging>
  <!-- カバレッジのターゲット指定。 -->
  <filter>
    <whitelist addUncoveredFilesFromWhitelist="true">
      <file>./app/controllers/secondController.php</file>
      <!-- 対象外ファイル、blacklistで指定することも可能 -->
      <exclude>
        <file>./app/tests/ExampleTest.php</file>
        <file>./app/tests/TestCase.php</file>
      </exclude>
    </whitelist>
  </filter>
</phpunit>

4.NetBeans 君の設定
  「ツール」→「オプション」をクリック。
  「PHP」→「フレームワークおよびツール」を選択。
  左側のリストから「PHPUnit」を選択し、「PHPUnit スクリプト」を入力。
  一律、「プロジェクトフォルダ\vendor\bin\phpunit.bat」でOK。
  phpunit-settei1.jpg

  ツリー上で、プロジェクトを右クリック。
  そんで「プロパティ」をクリック。
  phpunit-settei2.jpg

  テストを選択し、テスト・ディレクトリを追加します。
  app/tests フォルダを指定しましょう。
  テスト・プロバイダの「PHPUnit」にチェックを入れるのをお忘れなく。
  phpunit-settei3.jpg

  テスト→PHPUnit を選択し、「XML 構成の使用」にチェックを入れる。
  同時に「XML 構成」には、「プロジェクトフォルダ\phpunit.xml」を入力。
  phpunit-settei4.jpg

  ツリー上で、プロジェクトを右クリック。
  「コード・カバレージ」→「コード・カバレージを収集し表示」をクリック。
  phpunit-settei5.jpg

5.テスト実行!
  エディタでテスト対象のソースを表示して、「実行」→「プロジェクト(xxx)をテスト」をクリック。
  phpunit-settei6.jpg

  うほほほ、なかなかいい感じです。
  phpunit-settei7.jpg

  phpunit-settei8.jpg

  APITest.php を何行かコメントアウトしてみますた。
  phpunit-settei9.jpg
  ひゃっはーーーーー、背景が赤くなって、カバレッジもちゃんと機能してるようだす!

  わたすは、phpunit.xml で、カバレッジの出力先に
  「プロジェクトフォルダ\coverage」を指定したのですた。
  なので、coverage フォルダの中に、なにがしか作成されてるはずです。
  phpunit-settei10.jpg
  立派に作成されておりますた。

  NetBeans 君で、なんか幸せになれそうな予感がしますた。

posted by NERDY at 17:52 | Comment(0) | 技術 | このブログの読者になる | 更新情報をチェックする
×

この広告は180日以上新しい記事の投稿がないブログに表示されております。