May 17, 2013

Ratchetのユニットテストを実行してみる(とりあえずPHPUnit側)

PHP製WebSocketライブラリ(というよりはWebSocketフレームワーク?)のRatchetで、ユニットテストを実行してみました。
http://socketo.me/
https://github.com/cboden/Ratchet

とりあえずPHPUnitのテストケースを実行してみます。WebSocketのサーバサイドに対するテストなんだと思います。
$ git clone git://github.com/cboden/Ratchet.git
$ cd Ratchet/
$ curl https://getcomposer.org/installer | php
$ php composer.phar install
$ phpunit
PHPUnit 3.7.10 by Sebastian Bergmann.

Configuration read from /Users/admin/Desktop/ratchet/Ratchet/phpunit.xml.dist

...............................................................  63 / 365 ( 17%)
............................................................... 126 / 365 ( 34%)
............................................................... 189 / 365 ( 51%)
............................................................... 252 / 365 ( 69%)
............................................................... 315 / 365 ( 86%)
..................................................

Time: 1 second, Memory: 22.75Mb

OK (365 tests, 455 assertions)
あっさり。でも https://github.com/cboden/Ratchet/blob/master/Makefile を見ると、Ratchetのユニットテスト実行は、以下の方法が正しいみたいです。(まあ、同じなんですけど。)
$ make test
カバレッジレポートは
$ make cover
で生成出来ました。


Makefileに、その他で"abtests"、"abtest"、"profile"、"apidocs"が有ります。以下、根拠はありませんが、そんなに間違っていないとも思います。
1. "abtests"は、たぶん"AutobahnTestsuiteのテスト全部"の略なのだと思います。
2. "abtest"は、"AutobahnTestsuiteのテストの一部"になるのでしょうか。
3. "profile"は、"xdebug.profiler_enable=1"とあるので、Xdebugによるプロファイリングでしょう。(実は使ったこと無いので見なくちゃ。)
4. "apidocs"は、ドキュメントの生成のようです。 http://apigen.org/

上記1〜3は、AutobahnTestsuiteが関係しているようです。PHPUnitがWebSocketのサーバサイドに対するユニットテストであるなら、こっちはクライアントサイドのテストになるんだと思います。

AutobahnTestsuite
http://autobahn.ws/testsuite
https://github.com/tavendo/AutobahnTestSuite

AutobahnTestsuiteは、インストールは出来たのですが、実行するとエラーが出たので、別記事にしようと思います。

上記4の"apidocs"は、phpDocumentor2的なものと思います。これも、確認したら別記事として書こうと思います。コイツのせいで(まあ良い意味ですけど)やること増えてしまった。。。

--

追記:
AutobahnTestsuite関係について、別記事を書きました。
http://madroom-project.blogspot.jp/2013/05/ratchetautobahntestsuite.html

"apidocs"は、以下の通りApiGenをインストールして
http://madroom-project.blogspot.jp/2013/05/apigenfuelphp.html
$ make apidocs
で reports/api/ にドキュメントが生成出来ました。その中の index.html にアクセスするとドキュメントが表示されます。
http://socketo.me/api/index.html は、この方法で生成されているんだと思います。

No comments:

Post a Comment