タグ

関連タグで絞り込む (1)

タグの絞り込みを解除

テストに関するwatanata2000のブックマーク (27)

  • Xcode 4 からはじめる Unit Testing - jarinosuke blog

    テストを書く。 最近、色々なプロジェクトで Jenkins をはじめとした継続的インテグレーション(CI)という単語を良く聞くようになりました。 僕自身といえば、iOS 開発では 「Xcode 4 から Unit Test 全面サポートがはじまった!」位しかキャッチアップできていませんでした。 なので開発中にデグレが発生したりすると、モデルから一つずつデバッグを繰り返して、気付いたら2時間経ってるみたいなことも多々ありました。 何してるんだろうみたいな感じになって、流石に危機感を覚えたので一旦手を止めて Xcode 開発に所謂今流行っているテスト手法を組み込もうと思いました。 今回は初歩の初歩ということで、Xcode に付属されている Unit Testing フレームワークである SenTestKit を用いた単体テスト環境の構築を行います。 全てを通して Xcode は 4.3 を使用

    Xcode 4 からはじめる Unit Testing - jarinosuke blog
    watanata2000
    watanata2000 2012/07/24
    自動化 SenTestKit はじめて
  • OCMockのobserverMockの利用法と3つの注意点

    プログラミング (iOS, JavaScript, Jenkins, Sikuli) とMaciPhoneなどの話題が中心のブログ OCMockのobserverMockを利用してみたらちょっとはまってしまったので、利用法と注意点を備忘録としてまとめておきます。 なお、OCMock自体の導入や簡単な利用法については前回の記事「OCMockでテストを簡単に書く方法について」を参照してください。 observerMockの利用例 observerMockはNotificationのテストを楽にできるようにするための仕組みです。 後で失敗例をいくつか挙げますが、その前にちゃんと成功する例を見てみましょう。 実装側では何かしてからnotificationをポストしているものとします。テストではこの通知が正しいかをチェックします。 - (void)doSomething { // 何かする [[N

    OCMockのobserverMockの利用法と3つの注意点
    watanata2000
    watanata2000 2012/07/24
    OCMock テスト Notification 注意点
  • Jenkins を iOS アプリ開発に導入してみた (SenTestKit編)

    最近、iOSアプリの開発でも継続的インテグレーション(CI)を取り入れていくプロジェクトが増加傾向にあるようで、各種ツールやライブラリ、ノウハウが出回ってきているように感じられます。そこで私も早速iOSアプリ開発でのCI導入を試してみることにしました。今回の導入試験では、以下のような環境を想定して行いました。 iOSアプリの開発を、Xcode 4.X系のプロジェクトとして行う。 VCSにはgitを採用し、githubの公開リポジトリをリポジトリサーバーとして使用する。 CIサーバにはMacを採用し、プロジェクトをビルドするためにXcode 4.Xをインストールしておく。 ■必要なツールを準備する CIといったら、まずは何はなくともJenkinsです。 http://jenkins-ci.org/ ここでは導入について詳しくは挙げませんが、私は以下のを参考にしました。 https://gi

    Jenkins を iOS アプリ開発に導入してみた (SenTestKit編)
    watanata2000
    watanata2000 2012/07/24
    Jenkins テスト はじめて
  • ViewControllerがモデルを持つから微妙なのでコントローラーにViewController持たせてみる(もちろんテストも書くよ) - yaakaito::Blog

    Objective-C, Test, iPad, iPhone, 設計タバコ吸っててちょっと思いついたのでやってみた。感じとしてはViewControllerは完全にViewの一部だと見なしてしまって、まったく新しくコントローラーを作ろうという具合。試作段階、うまく行くかもしれない、くらい。以下、説明を楽にするために一旦完全にViewControllerを悪者にして書くので、その辺はご理解ください。コードは前のテストの時に使ってた簡易Twitterクライアントを使い回し、コードはここまず最初にアプリを書くと一番最初に手を付けるのがいわゆるプロジェクト名ViewController的なやつだとおもうのですが、コイツがよくない。最初からなんでビューいじらなきゃいけないのか。ただiOSアプリにビューがあるのは正しいので一旦コイツを大元のビューにすることにしよう。で、どっから書くかという感じになる

    watanata2000
    watanata2000 2012/07/24
    ViewController から コントローラ/テストを独立させる案? ★
  • CoreDataをUnitTestとかしたい - yaakaito::Blog

    Objective-CCoreData使った処理とかのテストを書きたい訳です。ある程度CoreData使ってなんとなく雰囲気理解できてる人向けに書いてます。下準備アプリに使われてるdbそのまま使うみたいな方法もあるけど、tearDownで掃除するとか面倒くさいし、モックみたいなの作れればいいんだけどなー的な。方法としてはアプリに使うデータモデルだけ引き抜いてきてメモリにManagedObjectContextを作ってみた。何回も同じの書くのはめんどくさいので、ベースにするクラス作っておけばいいと思う。 #import @interface CoreDataBaseTest : SenTestCase { NSManagedObjectContext *_managedObjectContext; NSManagedObjectModel *_managedObjectModel; NSP

    watanata2000
    watanata2000 2012/07/24
    CoreData ユニットテスト Mock ★★
  • TDD的にiOSアプリケーション開発してみる - yaakaito::Blog

    Test, Objective-C, iPad, iPhone(iOSのテストを書くとViewControllerがコントローラーになれる話 - yaakaito::Blog を先に見ておくと、何がやりたいか分かり易いかもしれません。)iOSアプリケーションのテストの書き方、難しいですよね。僕もよく分からないので手探り状態です。とりあえず、標準のOCUnit使ってTDDっぽいことしてみれば、何か叩き台になるかな?と思ったのでその過程を公開してみます。書くテストロジックテストだけです。後々アプリケーションテストもやる予定なのですが、というか一緒にやってたんですが、重すぎたので一旦ロジックテストだけです。ロジックテスト主体で書けるようにできる限りViewContollerと切り離してコードを考えています。ツッコミ大歓迎!(ロジックテストだけやるので、ビューに表示するところまで書いてません)リク

    watanata2000
    watanata2000 2012/07/24
    TDD iOS アプリ TwitterClient サンプルあり 解説丁寧 ★★★
  • XcodeによるGUIのオートメーションテスト - Kazzz's diary

    前回書いたようにXcodeはOCUnitによるObjective-Cのユニットテストを簡単に実行できる。ではGUIのテストはどうするのだろう。 GUIのテストといっても、大きく分けて ・実際にGUIを生成して操作を模したテスト(オートメーションテスト) ・GUIを模したモック(Mock)を使用して擬似的な操作をテスト(モックテスト) とあるのだが、ここで言及するのは前者であり実際のGUI(又はシミュレータ)を使ったテストだ。 少し調べてみたのが、どうやらInstrumentとそれ用に用意されたJavascriptを使うことでiOSのオートメーションテストを実行できるようだ。 WWDC 2010 Video: Automating User Interface Testing with Instruments この動画の視聴にはiTunesが必要だが、非常に分かり易く必見だ。 UI Auto

    XcodeによるGUIのオートメーションテスト - Kazzz's diary
    watanata2000
    watanata2000 2012/07/24
    GUI テスト 自動化
  • http://yaakaito.hatenablog.com/archive/category/Objective-C

    watanata2000
    watanata2000 2012/07/24
    テストの話いろいろ ★★
  • Objective-Cのテストでのモックとかスタブとか差し替えの話 - yaakaito's diary

    こんにちは!元気にiOS開発でテストを書いていますか???まだ書いていない人は、さっさと書きましょうね!!!今回はObjective-Cでテスト書く上でのモックオブジェクトとかのお話です。 OCMockというライブラリ使うのでCocoaPodsはインストールしましょう! 先にOCMockについて少しだけ 実際にOCMock使ってどうこうはちょっと先の話になってしまいますが、簡単にOCMockの説明だけしておきます。 Mulle kybernetiK -- OCMock Objective-Cのモック系のライブラリにはほかにもOCMockitoやExpectaなどがありますが、個人的にはOCMockが好きです。 有名なBDDフレームワークのCedarなんかでも、OCMock使うといいよ〜と言ってるので、そういう意味でもおすすめですね。 で、OCMockは何するの〜という話なのですが

    watanata2000
    watanata2000 2012/07/24
    OCMock 使い方 ★★★
  • OCMockでテストを簡単に書く方法について

    プログラミング (iOS, JavaScript, Jenkins, Sikuli) とMaciPhoneなどの話題が中心のブログ OCMockはXcode標準のテスト環境でも利用可能なモックライブラリです。 OCMockを利用すると他のクラス実装に依存しないようなテストを簡単に書くことができるようになります。 そこで、記事ではOCMockを導入して、プロジェクトに必要な設定を行う方法とOCMockの簡単な利用法について紹介します。なお、利用環境はOS X 10.6.8, Xcode 4.2, OCMock 2.0.1です。 OCMockの簡単な利用法 まずはOCMockの簡単な利用法について少しだけ紹介します。 概要についてはFeatures - OCMockがより詳しいです。 stub テストで未実装なクラスや外部サーバに依存するようなクラスを利用しなければならず、 とりあえずそれ

    OCMockでテストを簡単に書く方法について
    watanata2000
    watanata2000 2012/07/24
    OCMock 使い方 ★
  • iOSのテストで非同期のHTTPリクエスト結果をモックしたい - yaakaito::Blog

    Test, iPad, iPhone, Objective-C先に結論期待して見てる方がいるかもしれないので先に結論を。(最後まで読むつもりの人もここで書いてる説明は飛ばすので軽く読んでおいた方がいいかも)AFNetworkingとASIHttpRequestで試してみたのですが、結果的に綺麗に実装はできませんでした。両ライブラリとも非同期通信をサポートしていますが、ライブラリの提供する非同期通信は使わないのが一番綺麗な気がします。(別エントリで書きます) 同期で通信して、それを返してくれるメソッドがあれば、OCMockなりでそこを差し替えてしまえばよいので、あとはdispatch_asyncなりで裏に送ってやれば同じことができるはずです。無理矢理やろうと思えばできなくもない(ASIHttpRequestで一度やったことはある(後述))のですが、無理してもテストコードの品質が下がる一方です

    watanata2000
    watanata2000 2012/07/24
    OCMock 使い方?
  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
    watanata2000
    watanata2000 2012/07/24
    SenTestingkit GHUnit Kiwi Cedar 比較 ★★★
  • GHUnitとOCMockでUnit Test効率化 - jarinosuke blog

    また、テストを書く。 最近 iOS 界隈のテストのベストプラクティスについて調べているのですが、そこで目に留まった文章があるのでまずそれを紹介します。 How comfortable are you on a bike without a helmet? Writing code without tests is like riding a bike without a helmet. You might feel free and indestructible for now, but one day you’ll fall and it’s going to hurt. http://paulsolt.com/2010/11/iphone-unit-testing-explained-part-1/ ヘルメットを付けずに自転車を漕ぐのはとても快適ですね。でも、ふとしたある日に取り返しの

    GHUnitとOCMockでUnit Test効率化 - jarinosuke blog
    watanata2000
    watanata2000 2012/07/24
    GHUnit OCMock SenTestingKit 比較 導入手順 ★
  • SenTestingKitでNSLogを監視する - Rhythm & Biology

    Cocoa開発でテストを行う時にはSenTestingKit.frameworkを使います。使い方も簡単でそれほど不満はないのですが、一つだけ大きな不満があります。NSLogがXcodeのデバッグコンソールに表示されないということです。NSLogだけでなく、CFShow, printf全て表示されず、デバッグコンソール自体が動いていないようです。 これだと何かと不便なこともあるので、テスト時のNSLogをターミナル上で監視するスクリプトをperlで書いてみました。テスト時のログ専用tail -fみたいなものです。 use File::Tail; my $file = File::Tail->new( name => "/var/log/system.log", maxinterval => 2, tail => -1, ); while (defined (my $line = $file

    SenTestingKitでNSLogを監視する - Rhythm & Biology
    watanata2000
    watanata2000 2012/07/24
    SenTestingKit NSLog 出力させる スクリプト
  • 簡単なObjective-Cのテストフレームワーク導入 | Technology-Gym

    iPhoneUnitTests 公式に配布されているサンプルはXCodeから直接開くことができます。 XCodeのスタート画面 -> Learn about using XCode -> iPhoneUnitTestsで検索 -> Open Project 電卓アプリでSenTestingKitの基的なテスト方法がわかる。

    watanata2000
    watanata2000 2012/07/24
    SenTestingKit GHUnit テスト 導入 比較 リンク 情報多い ★
  • 非同期で動作する OCUnit (SenTestingKit) を書いてみた

    ► 2021 (1) ► 12月 (1) ► 2020 (1) ► 12月 (1) ► 2019 (4) ► 12月 (1) ► 9月 (1) ► 6月 (2) ► 2018 (3) ► 12月 (3) ► 2017 (4) ► 12月 (1) ► 6月 (1) ► 5月 (1) ► 3月 (1) ► 2016 (12) ► 12月 (2) ► 11月 (3) ► 10月 (2) ► 9月 (2) ► 6月 (2) ► 1月 (1) ► 2015 (13) ► 12月 (3) ► 11月 (1) ► 10月 (2) ► 9月 (1) ► 7月 (1) ► 4月 (1) ► 3月 (1) ► 2月 (1) ► 1月 (2) ► 2014 (28) ► 12月 (4) ► 9月 (4) ► 8月 (3) ► 6月 (5) ► 5月 (1) ► 4月 (3) ► 3月 (2) ► 2月 (2)

    watanata2000
    watanata2000 2012/07/24
    SenTestingKit 非同期 テスト 実行サンプル ★
  • SenTestingKit.frameworkを追加したらアプリが立ち上がらなくなった

    事の発端 iPhoneアプリの改善をして、チームメンバーにTestFlightで最新バージョンを送信しました。しかし、全員から「立ち上がらない。起動画面が開くとすぐに落ちてしまう。」という報告を受けます。僕のiPod touchとiPhoneでは立ち上がるのに、なぜ? クラッシュレポートを送ってもらう iPhoneはクラッシュした時にクラッシュレポートというものを保存するようになっています。 クラッシュログの見方(配布済みアプリのバグ調査方法) クラッシュレポートは、全てのアプリについてiOS側で自動で保存するようになっています。アプリが落ちてムカついた時はApp Storeのレビューに書くのではなく、クラッシュレポートを取り出して開発者に送るとお互いに幸せになれると思います。 これをメンバーの一人に送ってもらいました。 Dyld Error Message: Library not lo

    SenTestingKit.frameworkを追加したらアプリが立ち上がらなくなった
    watanata2000
    watanata2000 2012/07/24
    SenTestingKit オプション optional 設定 バグレポート ★
  • SenTestingkitとgcovでテストカバレッジを測定してみる « NAVER Engineers' Blog

    こんにちは、QAチームのアベです。 iOS SDK でのコーディングって楽しいですよね。でも完成度の高いアプリを目指すと開発ライフサイクルの中でいくつものテストを充分に行う必要があり大変なことも多いです。難しいのは「充分に」というところです。何をもって「充分」といえるでしょうか?時間とお金があればいくらでもテストするよ!と思うものですが、時間とお金が潤沢にあるプロジェクトは現実にありません。 そこでコストと納期とのトレードオフで重要なところを重点的にテストするという戦略があります。 masuidrive さんも言ってました、「モデルの UnitTest は書く、Integration はあきらめよう」と。戦略は様々ですが比較的テストコードを書き易いモデルレイヤのプロダクトコードに対するユニットテストを充分に行うというのが現実的のようです。 記事ではモデルレイヤにあるようなコードのユニット

    watanata2000
    watanata2000 2012/07/24
    SenTestingKit gcov Xcode カバレッジ ★★★
  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
    watanata2000
    watanata2000 2012/07/24
    SenTestingKit Logic Testing ロジックテスト Application Testing アプリテスト ?
  • [iPhone][TDD]SenTestingKit使い方 - l4l

    XCodeにデフォルトで含まれるユニットテストフレームワーク「SenTestingKit」をiPhoneアプリ開発で利用する方法を忘れないようにメモ。大枠の設定&実行まで、コーディングレベルのアサーションの種類や使い方は別途書く。 参考記事 iOS Development Guide: Unit Testing Applications まずプロジェクトの作成。任意のプロジェクトでユニットテストが可能(プロダクト用とユニットテスト用のプロジェクトを分ける必要がなく後述するターゲットで分ける)、なので適当にWindow-based Applicationを選択。 プロジェクト名は任意でOK、「UnitTestSample」として保存。 初期状態のプロジェクトリソースはこんな感じ。 ユニットテストはビルド時にXcodeで行う「Logical Tests」と、実機で行う「Applicati

    watanata2000
    watanata2000 2012/07/24
    SenTestingKit はじめに ★