XCTestのtestメソッド名に日本語をつけてはダメ
XCTestでtestがfailedしているのに、XCodeはTest Succeedと元気に通知してくるので、 なんじゃらほいと思ってたら、test名に日本語を使っていたのがダメな原因でした。
- テスト名が半角英語の場合
- (void)testFail { XCTFail(@"失敗"); }
このように、ちゃんとFailedで表示されます。
- テスト名に日本語を含む場合
- (void)test失敗すること { XCTFail(@"失敗"); }
ログにはきちんとfailedと出ています。
Test Case '-[SampleTests test失敗すること]' failed (0.001 seconds).
しかし、通知と、Xcode上には何も表示されず。
一見、うまくいってるようだったので気づきませんでした。 テスト名は普通に英語にしてコメントでテストの説明を書くようにしたいと思います。