Simpletestにおけるテスト説明の文字化け解消
2010 / 2 / 22
No Comment
SimpletestでHtmlReporter()メソッドを利用するとhtmlでの出力が可能になります。
コンストラクタでテストの説明を設定することが出来ますが、そのままだと文字化けが発生します。
文字化けの原因
function __construct(){
$this->UnitTestCase("Twitterクラスのユニットテスト");
}
上記のように設定すれば良いかと思いきや、このまま表示させると下記のように文字化けが発生します。 
念のためHTMLのソースを確認してみると
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">;
となっており、Simpletestのソースを確認してみるとrepoter.phpの30行目付近に
function HtmlReporter($character_set = 'ISO-8859-1') {
$this->SimpleReporter();
$this->_character_set = $character_set;
}
と書いてあります。
つまり、Simpletestのデフォルトでの表示文字コードはISO-8859-1ということになります。 それで日本語だと文字化けしてしまうわけです。
解決方法
そこで、下記のように定義します。$test->run(new HtmlReporter("UTF-8"));すると、htmlのcharsetが書き代わり、文字コードの設定をすることが出来ます。その結果、
上記のように日本語で表示されるようになります。
テスト環境:
Simpletestのバージョン:1.01
PHPのバージョン:5.2.6











どうぞこの記事に関するコメントをお寄せ下さい