【swift】せっかちな人向けXCTestにおける単体テストの実行

KENTEM の磯谷です。
最近swift開発を始めました。
XCodeにももちろんテストフレームワークが搭載されていますが、これまでWindows × VisualStudioでの開発が主だった私にとって、XCTestを初めて利用した時は勝手がわからずとても手間取りました。
XCTestにおける単体テストの実行について紹介します。

XCode 14.2

XCTestはXCodeにバンドルされているテストフレームワークです。
UnitTest、UITest、パフォーマンステストが行えます。 developer.apple.com

テストコードを作成していると、手っ取り早く単体テストだけ実行したいですよね。
すべてのテスト実行は、メニューバーの [Product]-[Test] のクリックから行えます。
新規作成からXCTestを導入していると、UITestやパフォーマンステストも実行されるため、ビルドや結果の表示までとても時間が掛かります。
単体テストをどこから実行するのか、実行結果がどこに表示されるのか紹介します。

まずは新規にプロジェクトを作成します。
XCTestを追加するには、新規作成時は以下の画面で「Include Tests」にチェックをつければOKです。

「Project navigator」に「(プロジェクト名)Tests」と「(プロジェクト名)UITests」が追加されています。

UnitTestを作成します。
「(プロジェクト名)Tests」を開くと以下のようなコードが既に記述されています。

シンプルに失敗するテストケースを書きます。
あとはこれを実行するだけです。

単一のテスト実行は、行番号から行います。
行番号の◇にカーソルを合わせると、表示が変わります。

クリックするとビルドとテストが実行し、結果がエディタ内に表示されました。
このあたりは、Playground に似ていますね! 合わせて、ナビゲータの表示が「Test navigator」に切り替わりました。

ナビゲーターを「Issu navigator」に切り替えると、失敗したテストのみが表示されます。

テストがパスするように修正して、再度実行します。

テストがパスしました。 パスした後の緑色が安心しますね!

ブレークポイントを設定すればデバッグもできます。

いかがでしたでしょうか。
XCTestには強力な機能が搭載されていますので、UnitTestだけでなく、UITestやパフォーマンステストにも挑戦していきたいです。

KENTEMでは、様々な拠点でエンジニアを大募集しています!
建設×ITにご興味頂いた方は、是非下記のリンクからご応募ください。
hrmos.co