XCTestのtestメソッド名に日本語をつけてはダメ

XCTestでtestがfailedしているのに、XCodeはTest Succeedと元気に通知してくるので、 なんじゃらほいと思ってたら、test名に日本語を使っていたのがダメな原因でした。

  • テスト名が半角英語の場合
- (void)testFail
{
    XCTFail(@"失敗");
}

f:id:masato47744:20140416094331p:plain

このように、ちゃんとFailedで表示されます。

  • テスト名に日本語を含む場合
- (void)test失敗すること
{
    XCTFail(@"失敗");
}

ログにはきちんとfailedと出ています。

Test Case '-[SampleTests test失敗すること]' failed (0.001 seconds).

しかし、通知と、Xcode上には何も表示されず。

f:id:masato47744:20140416094337p:plain

一見、うまくいってるようだったので気づきませんでした。 テスト名は普通に英語にしてコメントでテストの説明を書くようにしたいと思います。