PHPUnit メモ (1) 最近、Web 上のことを絡めてやりたいプロジェクトを思いつきました。 phpを使うようになったので、自然とphpunitに触れるようになりました。
開発プラットフォーム: Debian
まず、PHPUnit をインストールします。もちろん、設定環境はシンプルであればあるほど良いと思います。 ...
PHPUnit安装1 |
pear channel-discover pear.phpunit.de |
2 |
pear channel-discover components.ez.no |
3 |
pear channel-discover pear.symfony-project.com |
4 |
pear install phpunit/PHPUnit |
PHPUnit のインストール
1 |
pear channel-discover pear.phpunit.de |
2 td> |
pear チャネル-ディスカバーコンポーネント.ez.no |
3 |
pear チャネル-ディスカバー pear.symfony-project.com |
4 |
pear install phpunit/PHPUnit |
終わったら、しばらく待ちます。最初は反応がなかったので不安になり、そのままctrlを押しました。 +c.私は2であることが判明しました。
インストールにはナシが必要ですが、取得方法も私のスタイルを継続しています。
pear安装1 |
apt-get install php5-curl php-pear |
安装curl,pear |
2 |
pear upgrade-all |
更新软件包 |
pear のインストール
1 |
apt-get install php5-curl php-pear |
curl,pear をインストールします
2 |
pear upgrade-all |
ソフトウェア パッケージの更新
|
|
すべての準備ができたら、ターミナルに phpunit を入力します。反映されない場合は、原因を調べる準備をしてください。 。とにかく、Linux 上のソフトウェアの問題のほとんどは依存関係の問題だと思います。私は以前 lfs をプレイしてみましたが、脳細胞を失うことはありませんでした。
<?php
require_once 'PHPUnit/Framework.php';
class ExceptionTest extends PHPUnit_Framework_TestCase
{
/**
* @expectedException InvalidArgumentException
*/
public function testException()
{
}
}
?>
ログイン後にコピー
次にphpunitを使用します。
Baidu と Google によると、それらのほとんどは次のように使用されます:
1 |
phpuint test.php |
test.php为测试代码文件 |
次に、ターミナルに
<?php
require_once 'PHPUnit/Framework/TestCase.php';
class ArrayTest extends PHPUnit_Framework_TestCase{
public function testNewArrayIsEmpty(){
/*Create the Array fixture*/
$fixture = array();
/* Assert that the size of the Array * fixture is 0*/
$this->assertEquals(0, sizeof($fixture));
}
public function testArrayContainsAnElement(){
/* Create the Array fixture*/
$fixture = array();
/*Add an element to the Array * fixture*/
$fixture[] = 'Element';
/*Assert that the size of the * Array fixture is 1*/
$this->assertEquals(1, sizeof($fixture));
}
}
?>
ログイン後にコピー
と入力します
1 |
phpuint test.php |
test.php はテスト コード ファイルです
|
悲劇的なのは、 PHPUnit/Framework という php ファイルが見つからないので、php.ini の include_path パラメータを確認したところ、phpunit ディレクトリと Framework ディレクトリが見つかりました。
<phpunit>
<testsuites>
<testsuite name="Object_Freezer_Directory">
<directory>Tests</directory>
</testsuite>
<testsuite name="Object_Freezer_File">
<file>Tests/Freezer/HashGenerator/NonRecursiveSHA1Test.php</file>
<file>Tests/Freezer/IdGenerator/UUIDTest.php</file>
<file>Tests/Freezer/UtilTest.php</file>
<file>Tests/FreezerTest.php</file>
<file>Tests/Freezer/StorageTest.php</file>
<file>Tests/Freezer/Storage/CouchDB/WithLazyLoadTest.php</file>
<file>Tests/Freezer/Storage/CouchDB/WithoutLazyLoadTest.php</file>
</testsuite>
</testsuites>
</phpunit>
ログイン後にコピー
今回は基本的に、単純なテストケースが実行されます。
もちろん、テストファイルが大量にある場合、phpunit を 1 つずつテストするのは非常に面倒です。そこで、xml 設定ファイルの使用方法を調べてみました。
终端命令1 |
phpunit --configuration test.xml --debug |
test.xnl为测试配置文件 |
使用方法の詳細については、http://www.phpunit.de/manual/3.6/en/index.html を参照してください。
ターミナル コマンド
1 |
phpunit --configuration test.xml --debug |
test.xnl はテスト構成ファイルです |
OK、最初のメモは完了しました。 最後に、Java で JUnit を使用したい場合は、モック用の Jmock と easymock が必要です。単体テストの場合、モック用の Rhino Mocks が必要です。もっと涙ぐむ。 phpunit にはモックだけでなく、コード カバレッジも含まれていることに感心します。