タグ

SenTestingKitに関するFunnyBunnyDizzyのブックマーク (3)

  • 単体テストの実行時に非同期処理を待つ

    SenTestingKit/XCTestは非同期処理を待たずにテストケースを終了してしまうので、 直接SenTestingKit/XCTestを利用する場合には自分でNSRunLoopを回して処理の完了を待つ必要があります。 これまでSenTestCaseにfinishedフラグが追加されたサブクラスを使ったりしていたのですが、 どうしてもテストコードが明示的にならなくて悩んでいました。 いままで書いていたテストコードは以下のような感じです。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 - (void)testExample { // step 1 dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0); dispatch_async(queue, ^

  • SenTestCase で非同期処理のテストをする方法 - A Day In The Life

    今年の2月ごろから iOS 用の HTTP 通信ライブラリの開発をしていています。 シンプルで簡単に HTTP 通信が出来るライブラリを公開しました 非同期で HTTP 通信をするだけの簡単なライブラリなんですが、ユニットテスト(Unit Test)をする時に少しコツが必要だったのでその紹介です。ここで紹介する方法は非同期(Async)処理のテスト全般で使える技だと思います。 iOS でユニットテストを実施するときは iOS に標準で付属している SenTestingKit というフレームワークを使います。 ユニットテストの書き方 SenTestingKit の使い方は Java の JUnit とほとんど同じで簡単です。SenTestingKit では SenTestCase というユニットテストのための基底クラスが提供されています。まず SenTestCase クラスを継承したテスト用

    SenTestCase で非同期処理のテストをする方法 - A Day In The Life
  • GHUnitをやめてSenTestingKitを使う理由 - blog.ishkawa.org

    ※ はじめにことわっておきますが、GHUnitを批判したくて書いているわけではなく、 SenTestingKitが意外と使えたということを書きたくて書いています。 – 特定のテストがターミナルから実行できないという問題に遭遇した。 GHUnitは新しいXcodeやiOS SDKが出たときに対応されるまでにラグがある。 やっぱりcommand+Uでマメにテストを実行したい。 SenTestingKitではできないと思い込んでいたことが実はできた。 以下、誤解していたことについて書きます。 SenTestingKitへの誤解 実機ではテストを実行できない。 UIKitが絡むテストは書けない。 非同期のテストが書きづらい。 実機での実行 SenTestingKitで実行できるテストにはLogic Unit TestsとApplication Unit Testsがあります。 前者は実機での実

  • 1