Home » プログラミング

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

2010 / 2 / 22 コメント募集

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]

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

Add your comment below, or trackback from your own site. You can also subscribe to these comments via RSS.

Be nice. Keep it clean. Stay on topic. No spam.

これらのタグのみ使用出来ます:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

This is a Gravatar-enabled weblog. To get your own globally-recognized-avatar, please register at Gravatar.

*