Simpletestにおけるテスト説明の文字化け解消

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が書き代わり、文字コードの設定をすることが出来ます。その結果、

日本語表示OK

上記のように日本語で表示されるようになります。

テスト環境:
Simpletestのバージョン:1.01
PHPのバージョン:5.2.6


テスト駆動開発入門

[`evernote` not found]

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*