タグ

tddに関するtaketyanのブックマーク (34)

  • フロントエンド(React Testing Library)で TDD(テスト駆動開発)をする

    私はフロントエンドエンジニアとして働いてはいるのですが、巡り合わせが悪いのでしょうか?まともなテストを書いたことがないんですよね。まあ、それもでテストくらい書けないとなぁ。なんて思ってはちょいちょい調べたりする日々を過ごしていました。 そんなある日、たまたま TDD(テスト駆動開発) についての動画を視聴してみました。 TDD 自体は知ってはいて、なんとなく知っているくらいの知識ではありましたが、分かりやすい説明とその思想が好きで、のめり込むように見てしまいました。 その後も何度か視聴して、フロントエンドでも TDD したいなと考え始めました。 普段テストすら書いていないのにいきなり TDD とも思わないこともなかったですが、実際に普段自分がさわっているようなコードに落とし込んで書いていくと、テストする当の意味というものが、より正確に理解できてきたような気がします。 そんなテスト初心者の

    フロントエンド(React Testing Library)で TDD(テスト駆動開発)をする
  • TDDを諦めることと、RSpecをやめること - 高柴ラボ

    2014-10-17 TDDを諦めることと、RSpecをやめること Ruby on Rails Ruby RSpec 開発手法 最近Web上でも仕事場でも、RSpecをやめて別のテストフレームワークに変えようと思っている……みたいな話をちょくちょく見聞きするようになった。僕がRuby on Railsで開発を始めた2012年8月当時、すでにRSpecはテストフレームワークのデファクトと言ってよかった。一斉を風靡したRSpecが、なぜ今見直され始めているのか。 きっかけになったのは今年4月の、Rails作者であるDavid Heinemeier Hansson(以下DHH)によるTDD is dead発言だと思う。 5月にはこの発言によるTDDへの風評被害を重く見たKent Beck*1が、レフリーにMartin Fowler*2を迎え、DHHと相対するドリームマッチが開催された。この会談の

    taketyan
    taketyan 2014/10/20
    厳格なテストファーストじゃなくても RSpec は有用だと思う。Test::Unit に sub_test_case が実装された今では Test::Unit で十分じゃん、ってケースが増えただけで、RSpec の表現力がありがたいケースはまだあると思う。
  • Test::Unitでテストを書く - Qiita

    テストの書き方 基 今までのTest::Unitと変わらないので,classで書く.ただ,昔のTest::Unitとは違い,TestCase毎に呼ばれるstartupやshutdownなどが増えている. require 'test/unit' class TestSample < Test::Unit::TestCase class << self # テスト群の実行前に呼ばれる.変な初期化トリックがいらなくなる def startup p :_startup end # テスト群の実行後に呼ばれる def shutdown p :_shutdown end end # 毎回テスト実行前に呼ばれる def setup p :setup end # テストがpassedになっている場合に,テスト実行後に呼ばれる.テスト後の状態確認とかに使える def cleanup p :cleanup

    Test::Unitでテストを書く - Qiita
    taketyan
    taketyan 2014/10/15
    今のところ公式のドキュメント足りなくて、昔ながらの Test::Unit 知ってる人以外厳しい状況だと思うので、これはありがたいまとめ。
  • RSpec をやめて Test::Unit に戻る - tmtms のメモ

    最近の RSpec は、それまで obj.stub(hoge: value) と書けたものが、 allow(obj).to receive(:hoge).and_return value と書かないといけなくなったりとか、正気の沙汰とは思えないような変更をしたりするので、何年かぶりに Test::Unit を使ってみようとリハビリ中です。 RSpec は、テストケースを入れ子にできたり、テストケースや example がクラスやメソッドではなく、文字列で自由に書くことができたりしたのが良かったのですが、最近の Test::Unit ではそれもできるようになっています。 [ruby-list:48926] [ANN] test-unit 2.5.2 このリリースはとみたさんに使ってもらえるように改良したリリー スです。新しく追加した--locationはRSpecの--line_number

    RSpec をやめて Test::Unit に戻る - tmtms のメモ
    taketyan
    taketyan 2014/10/14
    Test::Unit 3.0.1 使ってみた。sub_test_case 便利。ただ、昔ながらの使い方と、今の新しい機能とを包括的に解説してくれてるドキュメントがないっぽくて、その辺が障壁がある感じ。
  • レガシーなプロダクトにテストで向き合う話 | GREE Engineering

    はじめまして。荻原といいます。グリーのプラットフォーム部門で、サーバーサイドのエンジニアをしています。 昨年末ぐらいまで業務の空き時間にテスト周りでごにょごにょと動いていたので、今日はそのことについて書かせて頂きます。 こんな人は読むと役に立つかもしれません。 レガシーなプロダクトになんとかして突破口を開きたい PHPUnit の書き方で参考になりそうなものを探している Ruby でスマートフォンのブラウザ操作を自動化したい 経緯 こちらでも言及されている通り、サービスを運営している以上、時には技術的負債に向き合わなければなりません。GREE歴史が長いプロダクトなので、日々コードをリリースしていく中でそういった問題に頭を抱える場面もありました。 技術的負債による副作用はたくさんありますが、どういう点に不安を感じていたのか、実際に開発の現場に立って感じたことをいくつか書いてみたいと思います

    レガシーなプロダクトにテストで向き合う話 | GREE Engineering
    taketyan
    taketyan 2014/02/21
    isOverTen(9) が false 返すの異常系っていうの違和感ある。正常系と異常系でグループ分けるのは面白いと思うけどこの例はちょっと違う気が。
  • なぜクライアントJavaScriptの単体テストを書くのが難しいか、考えてみた - mizchi's blog

    ってsinonのスタブ漏れを探しながら何度目かわからない感じにキレてた。 とにかく仕事でJSのテスト書くのが辛いので考えてみる。比較的JSのテストに慣れてる自分ですら辛いのだから、世界はもっと辛いに間違いない。サーバーサイドのnode.jsの話ではない。 JavaScriptで完結しない 構造がHTMLの構造と密結合している。装飾や位置、表示/非表示はCSSによって制御されている。 クライアントJSはHTMLと密結合しており、CSSからビューは影響を受ける。それらがネットワークの結果を受け非同期に振る舞いを帰る。その最終的な値を取得するのが難しい。 もちろんサーバーサイドだってDBやネットワークという外部リソースを扱うが、モックの手法が確立しているし、局所的な複雑度は、JSの方がはるかに多い。 言語仕様が貧弱 mochaやjsmineはrspecを真似てるけど、質的にJavaScript

    なぜクライアントJavaScriptの単体テストを書くのが難しいか、考えてみた - mizchi's blog
    taketyan
    taketyan 2014/02/04
    全部「副作用を伴うものはテストしづらい」という話。UX も体験者への副作用とも言えそう。
  • ユニットテスト改善ガイド | DevelopersIO

    先日、日Javaユーザグループ(JJUG)主催のJJUG CCC 2013 Fallで、「ユニットテスト改善ガイド」というタイトルで登壇してきました。自分の経験を元に、ユニットテストをチームや組織へ導入する時に起こりえる問題とその解決のヒントに関するセッションです。エントリーではそのセッションの内容を再構成して公開します。 はじめに 近年のシステム開発では、ユニットテストや継続的インテグレーション(以下、CI)の導入は必要不可欠と考えられています。とはいえ、どんな組織(チーム)でも簡単に導入できているわけではありません。特に、大きな組織や古くからの慣習を残している組織では導入したくとも中々進まないと感じているところが多いのではないでしょうか?。 私は、これまでに多くの開発現場でユニットテストやCIの導入について推進してきました。成功したケースもあれば失敗したケースもあります。そして、失

    ユニットテスト改善ガイド | DevelopersIO
    taketyan
    taketyan 2013/11/13
    「テストしやすいところから」の例示として「ユーティリティクラスから」というのはイメージしやすくて素敵だと思った
  • ShouldBee - テスト作業を限りなくゼロに

    次世代テスティング オートメーションで ソフトウェアを最高の品質に ShouldBeeは無料で使えるウェブサイトのテスト自動化を支援するツールです。 これまで手動で実施していたテストの手順書を日語で書いて実行するだけ!

    ShouldBee - テスト作業を限りなくゼロに
    taketyan
    taketyan 2013/11/08
    Cucumber as a Service って感じなのかな。
  • 次世代のKIF(2.0.0)が良さそう

    KIFはSquare製のIntegration Testsのためのフレームワークです。 この半年くらいでKIFは大幅なアップデートに取り組んでいるらしく、現在はプレリリース版の2.0.0pre5が公開されています。 まだ正式版はリリースされていないのですが、ひとまずプレリリース版を動かしてみました。 KIF(kif-next) KIFは元々GHUnitのようにアプリのビルドターゲットを複製し、エントリーポイントを少し変更することで複製したアプリ上でテストを走らせるというものでした。 新しいバージョンではSenTestingKitを利用することでXcodeに統合されたテストとして実行できるようになりました。 具体的には以下のようなメリットがあります。 command+Uで実行できる エラーが出た箇所を追跡しやすい 部分実行ができる xUnit/xSpec形式でテストを書ける SenTesti

    taketyan
    taketyan 2013/09/01
    かわいい
  • ヤングアニマルの漫画で女子がTDDの本を読んでる!

    ヤングアニマルの漫画で女子がTDDのを読んでる!

    ヤングアニマルの漫画で女子がTDDの本を読んでる!
    taketyan
    taketyan 2013/02/23
  • TDD Advent Calendar jp: 2011 | Gihyo Digital Publishing … 技術評論社の電子書籍

    TDD Advent Calendar jp: 2011 著者 TDD Advent Calendar jp: 2011 参加有志 著 発売日 2012年6月29日 更新日 2012年6月29日

    TDD Advent Calendar jp: 2011 | Gihyo Digital Publishing … 技術評論社の電子書籍
    taketyan
    taketyan 2012/11/30
    去年書いた記事が電子書籍化しました。無料です。
  • UnitTestのためのクラス設計

    Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)

    UnitTestのためのクラス設計
    taketyan
    taketyan 2012/10/02
    p19「テストのためにクラス設計を歪める必要がある」はクラス設計を見直すシグナルと考えればむしろメリットとも言える / p24 でモックと呼んでいるものはスタブと呼ぶ方が正しいように思う
  • テスト駆動開発について僕は誤解していた - 偏見プログラマの語り!

    ここ数日 ruby をやってるんですけど、ruby といえばテストらしいので Test::Unit やら RSpec やらを調べてました。しかし僕はこれまでまともな TDD をやってこなかったので、先にテストとは何ぞや?TDD とは何ぞや?ってのを調べたりしていました。 この記事は、ずぶの TDD 素人がテストについて知り始めたまとめです。 1. きっかけは RSpec のドキュメント そもそも RSpec の↓紹介文の冒頭から意味不明に感じたんです。 FAQ:「RSpec って、要は Test::Unit でやっていることを別の書き方にしただけでは?」 この FAQ への短い答えはイエスです。 『スはスペックのス 【第 1 回】 RSpec の概要と、RSpec on Rails (モデル編)』 Rubyist Magazine えっ... じゃあ要らんやろソレ。いちいち手作業でチェック

    テスト駆動開発について僕は誤解していた - 偏見プログラマの語り!
  • xUTP Magazine - ぺけま

    xUTP Magazine について 『xUTP Magazine』、略して『ぺけま』は、xUTP読書会の有志による xUnitester の xUnitester による、xUnitester とそうでない人のためのウェブ雑誌です。 最新号 0004号 巻頭言 xUTP Topics: 第三回 xUnit Test Patterns の世界観「テストコードの不吉な臭い」 TDD Live 番外編(TDD序破Q) 編集後記 バックナンバー 0003号 xUnitester Hotlinks: 第一回 和田卓人さん(下) goos 読書会への誘い 来年(2012年)のTDDBC予報 0002号 xUnitester Hotlinks: 第一回 和田卓人さん(上) xUTP Topics: 第二回 xUnit Test Patterns の世界観「テストコードの不吉な臭い」 mockitoでサ

    taketyan
    taketyan 2011/11/06
    これは楽しみ!!
  • TDDはYAGNIに矛盾する? - カタチづくり

    Joel on Softwareに面白そうな記事が載っていた。 とはいえ、どうも僕の英語力では完全な読解が難しい。会話を書き起こしたものなので当然ながら文体が会話調で、僕にはなかなか理解が難しいのだ。以下で僕の読み間違いがあれば指摘して欲しい。 さて、冒頭で Joel 氏はこう言っている。 Joel: There's a debate over Test Driven Development... should you have unit tests for everything, that kind of stuff... a lot of people write to me, after reading The Joel Test, to say, "You should have a 13th thing on here: Unit Testing, 100% unit tests

    TDDはYAGNIに矛盾する? - カタチづくり
    taketyan
    taketyan 2011/09/23
  • Android開発で泣かないための「テスト」の重要性(1/2) - @IT

    8月6日、日Androidの会テスト部(以下、テスト部)主催によるイベント「第1回Androidテスト祭り」が都内で開催された。テスト部は、Androidプラットフォームでの開発において、特にソフトウェア検証テストに関する情報共有や問題解決を目的とした組織だ。2010年9月に発足し、イベント開催時点では276名のメンバーがいるという。 今回のイベントは、その自由度の高さや多様性ゆえに課題を抱えるAndroidアプリ開発のテストについて、開発者同士やコミュニティでの情報交換を目的に開催された。テスト部では、すでに日Androidの会の総合イベント「Android Bazaar and Conference」での講演をはじめ、さまざまな活動を行っているが、単独イベントは今回が初だ。

    taketyan
    taketyan 2011/09/06
    やっぱ JUnit で TDD ってのはやるんだなー. あと UI のテストの自動化興味深い.
  • 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
    taketyan
    taketyan 2011/08/29
    Vows, カッコいい.
  • PHPSpec リファレンスマニュアル

    序文 あれは 2006 年のことでした。私は Ruby に挑戦してみることにしました (PHPなのにこんな書き出しでいいんでしょうか……。 でも、すべての始まりはここだったのです!)。 その当時、xUnit によるテスト駆動開発 (TDD) とは別の考え方が注目を集め始めていました。 RSpec フレームワークをインストールした私は、そこで振舞駆動開発 (BDD) の概念を知ったのです。これは TDD を進化させた (あるいは再構成した) ものです。その主な目的は、新たな言語を作成することによって、 伝統的な TDD の語彙をよりテストに適したものに置き換えることです。 驚いたことに、BDD はかなり魅力的なものでした。 BDD は、TDD がやろうとしていることを よりわかりやすく行うことができます。 そのおかげで、TDD による開発よりもかなり生産性があがりました。 うまく説明で

    taketyan
    taketyan 2011/08/23
    jp から ja に引っ越してた. @takagi さんありがとうございます!!
  • PHPUnit の実行を自動化する 3 つの方法 | Born Too Late

    皆さん, ユニットテスト書いてますか. TDD (テスト駆動開発) によるプログラミングは当に楽しいものですが, コマンドをいちいち手動で実行するのは面倒ですよね. テストを自動化しているんだから, その実行も自動化したいですよね. この記事では, 私が仕事趣味で使っている PHPUnit を例に, テストの実行の自動化について紹介します. PHPUnit の, としてはいますが, 他の言語で使えるテクニックもあります. なお, ここでの自動化は開発しながらの自動実行のことで, CI (継続的インテグレーション) の話は出てきません. その前に... 私の開発時のターミナルは以下のようになっています. [caption id="attachment_1298" align="alignnone" width="300" caption="開発時のターミナル"][/caption] GN

    PHPUnit の実行を自動化する 3 つの方法 | Born Too Late
    taketyan
    taketyan 2011/08/16
    Blogged. 作業効率を上げましょう. ヒヤシンスッッッッ!!!111
  • GitHub - bovigo/vfsStream: vfsStream is a stream wrapper for a virtual file system that may be helpful in unit tests to mock the real file system. It can be used with any unit test framework, like PHPUnit or SimpleTest.

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - bovigo/vfsStream: vfsStream is a stream wrapper for a virtual file system that may be helpful in unit tests to mock the real file system. It can be used with any unit test framework, like PHPUnit or SimpleTest.
    taketyan
    taketyan 2011/08/13
    PHP 用のストリームラッパーで, ファイルシステムをモック化するのに使うらしい. 今から試す.