タグ

テストに関するSlightairのブックマーク (20)

  • デブサミで僕が話したことの簡単なまとめ - 宇宙行きたい

    デブサミが 10 周年でした。 残念ながらオファーなかったのですが、一昨日くらいに急に参加していいよって言われたので 「From Legacy to Agile 〜レガシー開発からアジャイル開発へ〜」に乱入してきました。 そこでチームビルディング的な話を話させてもらいました。 資料とか特に作っていなかったので僕がリーダーとしてチームメンバーにお願いしている決まり的なことを簡単にまとめておこうと思います。 テストを書け 問題を根性で解決するな 人を殺す以外なら何やってもいい 失敗を引きずるな 個別に補足書いて行きます。 一応状況の簡単な説明をしておくと、最初は 3 人しかいないチームに 「手伝ってくれないか?」と言われ合流しました。その後、僕がリーダーになり 今は 15 人前後のチームで動いています。 テストを書け これは僕がチームに入るときに最初に宣言しました。 「テストを書かないようなプ

    デブサミで僕が話したことの簡単なまとめ - 宇宙行きたい
  • Chai

    Chai is a BDD / TDD assertion library for node and the browser that can be delightfully paired with any javascript testing framework.

  • Node.js + Vowsではじめるテスト駆動開発

    Node.jsで使えるTDD, BDDフレームワークはいくつかあるのですが(nodeunit, Jasmine, etc)コールバック・イベント周りのテストのしやすさとCoffeeScriptが利用出来る Vows が非常に熱い感じです。 特にテストコードをCoffeeScriptで(別途コンパイルせずに)そのまま記述出来るのは、テストコードの可読性を考えると大きなメリットだと思います。 Vowsのインストール# VowsはNode Package Manager(npm)でインストールする事が出来ます。vowsコマンドを有効にするためにカレントディレクトリの node_modules の他にグローバルにも入れておきましょう。 npm install vows npm install -g vows Vowsを使った開発手順# サンプルとして自分のフルネームを返す事しか出来ないPerson

    Node.js + Vowsではじめるテスト駆動開発
  • Instructing Cakefile to exit with error if a vows test fails

  • Vows « Asynchronous BDD for Node

    Asynchronous behaviour driven development for Node. There are two reasons why we might want asynchronous testing. The first, and obvious reason is that node.js is asynchronous, and therefore our tests should be. The second reason is to make tests which target I/O run much faster, by running them concurrently. Write some vows, execute them: $ vows test/* --spec Get the report, make sure you kept yo

  • Vows で クライアントサイドの CoffeeScript / JavaScript のテストをする時の Tips

    0. node.js の Vows フレームワークがとてもかわいい JavaScript のTDD, BDDフレームワークはたくさんあるけど,テスト結果の見た目の良さと記述の楽さで Vows というフレームワークを使っている.RSpec からの影響を受けていて,Rack アプリケーションのテストと同じような感覚で書ける,というのが良い. たとえばこんな感じでテストコードを CoffeeScript で書く で --spec オプションをつけて実行するとこういう風に表示してくれる. assertion でテストが通らないと黄色く,内部エラーの場合は赤にラベルが表示される. しっかり全部通すと このように表示される.見た目が良いし,ラベリングを丁寧にやるとテストの内容がわかりやすい. 元々 node.js のテスト用なので,require exports など, pure JavaScript

    Vows で クライアントサイドの CoffeeScript / JavaScript のテストをする時の Tips
  • Jenkins を iOS アプリ開発に導入してみた (GHUnit編)

    前回 はSenTestKitを用いてJenkins上で単体テストの自動実行を行いました。今回はGHUnitを使った単体テストの自動実行にチャレンジしてみたいと思います。またついでといっては何ですが、単体テスト時に必要になってくるモックを作成するためのライブラリOCMockも同時に導入してみようと思います。 ■なぜGHUnitを使うのか GHUnitを使うことで、SenTestingKitと比べて以下のようなメリットが得られます。 非同期処理のテストを行うための仕組みが用意されている(GHAsyncTestCase)これをSenTestingKitないし他のテスティングフレームワークでやろうとすると大変骨が折れます。 .app形式(要するに実際のiOSアプリケーション)でテストを実行するため、UIApplicationやUIWindowといったUIコンポーネントを使うクラスのテストが可能にな

    Jenkins を iOS アプリ開発に導入してみた (GHUnit編)
  • mocha と Jenkins で Node.js の CI 環境を構築する - hakobera's blog

    最近、mocha をつかってテストを書くのが楽しくなってきました。でも、テストの数が増えてくるとローカルでの実行だけでなく、CI 環境が欲しくなりますよね。github にあげられるようなプロジェクトだったら、Travis CI も良いですが、実際に仕事で使うとなると、既存の Jenkins と組み合わせてやる必要ができてきたので、実際にやってみました。 基的な手順は以下の通りです。 mocha でテスト結果を TAP 形式でファイルに出力する 出力したファイルを Jenkins の TAP Plugin に読み込ませる 簡単ですね。 実際にやってみた というわけで、以下のような最小構成で試してみます。 myapp |- lib | |- calc.js | |- test | |- calc.test.js | |- package.jsonここには書いていませんが、実際は git

    mocha と Jenkins で Node.js の CI 環境を構築する - hakobera's blog
  • Mocha - the fun, simple, flexible JavaScript test framework

    simple, flexible, fun Mocha is a feature-rich JavaScript test framework running on node and the browser, making asynchronous testing simple and fun. Mocha tests run serially, allowing for flexible and accurate reporting, while mapping uncaught exceptions to the correct test cases. Hosted on GitHub. Features browser support simple async support proper exit status for CI support etc auto-detects and

  • 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編)
  • Unit testing on iOS - Stewart Gleadow - Melbourne Cocoaheads November 2011 on Vimeo

    Unit testing on iOS - Stewart Gleadow - Melbourne Cocoaheads November 2011 on Vimeo
  • NSURLConnectionあたりのテスト : As Sloth As Possible

    お掃除 iPhoneアプリのコードのお掃除をしている。やれiPadだ新型iPhoneだOS4.0だ、うはぁ頼みの汎用ライブラリはUndocumentedなAPI使ってて動かない、なんですってー他の言語からのトランスレータは規約で禁止だってー、とまぁなんだかんだでiPhoneデベロッパはアプリの改修に追われててAppleに恨みつらみが募ってたりもするんじゃないかと思うけど、まぁ俺も大体そんな感じです。正確に言うとそうじゃなくてもしょっちゅう直してますけど。 リファクタリング そんなわけで内部のコードの整理とかバグ取りとかついでに切り出したAtomPubクライアント汎用フレームワーク化しようかなーとかやってて、そうなるとちゃんとしたテスト書いてないと辛いのでOCUnitでテストケースをもりもり増やしてるんだけど、非同期にAPIと通信してるところがいまいちテストし辛い。というわけでNSURLCo

    NSURLConnectionあたりのテスト : As Sloth As Possible
  • iOSのテストで非同期のHTTPリクエスト結果をモックしたい - yaakaito::Blog

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

    Slightair
    Slightair 2012/01/19
    NSURLRequest の URL を method_exchangeImplementations でいれかえるとかしてみては
  • TDD的にiOSアプリケーション開発してみる - yaakaito::Blog

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

  • iPhoneでRSpec風テスト - 一足お先に。 −高専出身者が語る技術者ブログ−

    三三のエンジニアが、誰一人としてこのブログにリアクションしてくれない事を、密かに気にしている中森です。こんにちは。 Yammerというツイッターっぽい企業向けのものがあり、弊社ではそれを利用しています。 しかし、そこにポストしてもエンジニアがLikeをつけてくれた時は過去ありませんでした。 ちくしょう! しかし俺たちの戦いは始まったばかりだ! もうちょっとObjective-Cが浸透すればコメントもらいやすいんですけどね…。 まぁ、私はObjective-C自体は嫌いですから、広まったらそれはそれで困りますけど。 あと、実は毎週日曜に技術系ではない記事を書いては挫折しています。これもどうにかなれ。 なんだか説教っぽくなって毎回ボツってます。 テストフレームワーク、Kiwi iPhoneのテストフレームワークは、色々あります。 Xcode標準のSenTestingKit

  • iOS アプリ開発向け受け入れテスト/結合テストフレームワークのまとめ - laiso - iPhoneアプリ開発グループ

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

    iOS アプリ開発向け受け入れテスト/結合テストフレームワークのまとめ - laiso - iPhoneアプリ開発グループ
  • iOSのテストを書くとViewControllerがコントローラーになれる話 - yaakaito::Blog

    Test, 雑感, iPad, iPhone, Objective-Cテストを書く事でおこるいい事は、いろんなところで解説されているので、iOS開発に限ったもので、わりと僕の中でキたViewControllerについて。ViewContollerがデータを所持しているケーステストをしていく上で課題になるアプリケーションテスト。iOSアプリケーションなので必ずビューが存在するわけですが、こいつを操作するViewControllerが非常に厄介な存在になってくる。少なくともApple公式のドキュメントのような書き方をすると、すぐに破綻する。例えば、こういうコードをよく書くと思いますが、この時に描画されるデータが正しいかをテストする為だけに複雑で手間のかかるアプリケーションテストをする必要があるでしょうか。 - (UITableViewCell *)tableView:(UITableView

  • iOSと非同期テストな話 - yaakaito::Blog

    Objective-C, Test, iPad, iPhone非同期テストを書くにはdispatch_semaphoreを使う方法と、自分でループまわして管理する方法の2つがありますね。違い、というか、特徴としてはdispatch_semaphore使うとかなり綺麗にテストコードが記述できますが、処理内でメインスレッドになってしまうと、そのまま二度と帰ってこないみたいです。自分で管理する場合はこれの逆、メインスレッドに行ってもテストできるけど、テストはちょっと冗長になる感じ。dispatch_semaphore dispatch_semaphore_t semaphore = dispatch_semaphore_create(0); dispatch_queue_t global_queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIOR

  • [iPhone] JavaScriptを使ってUIのデバッグを自動化してみた

    はじめに そろそろ今年も終わりそうで、絶望してるみなさんこんにちは。「プログラマが知るべきじゃない97のこと」って書籍が出たら読みたいダニーです。 iPhone開発でユーザーインターフェースをテストする時、いちいち手作業でやるのは大変ですね。 今回はUI Automationでユーザーが行う操作を自動的に動かすのを試してみたので紹介したいと思います。 実例 実例としてWall CalendarというiPhoneアプリで以下の操作をJavaScriptで自動化したいと思います。 ユーザー名を入力する。 パスワードを入力する。 カレンダーリストの項目を押す。 カレンダーリストに表示された2番目のカレンダーをオンにする。 カレンダーリストに表示された3番目のカレンダーをオンにする。 カレンダーリストの設定ボタンを押す。 次へボタンを押す。 画面 ユーザー名とアカウントの入力画面がこのようになって

    [iPhone] JavaScriptを使ってUIのデバッグを自動化してみた
  • ブラウザを選ばずWebテストを自動化するSelenium

    Webアプリケーションのファンクションテストを行うツールとして注目されている「Selenium」のバージョン1.0が6月20日にリリースされました。安定性が向上するとともに、Firefox 3.0、3.5(Selenium IDEは1.0.2から、Firefox 3.5に対応)や、Internat Explorer(以下、IE) 8などの最新のWebブラウザにも対応しました。 稿では、Selenium 1.0をベースとしたSelenium IDEとSelenium RCを利用した効果的なSeleniumの利用方法を紹介します。 Webアプリのテストで誰もがイラつく大きな課題 Webアプリケーションテストを手で行うと、非常に煩雑です。Selenium登場以前の従来のやり方では、次のような問題がありました。 回帰テストに時間がかかる バグ修正や仕様変更などで、Webアプリケーションを変更した

    ブラウザを選ばずWebテストを自動化するSelenium
  • 1