タグ

BDDに関するatsushifxのブックマーク (12)

  • Bitbucket | Git solution for teams using Jira

    With best-in-class Jira integration, and built-in CI/CD, Bitbucket Cloud is the native Git tool in Atlassian’s Open DevOps solution. Join millions of developers who choose to build on Bitbucket.

    Bitbucket | Git solution for teams using Jira
    atsushifx
    atsushifx 2013/12/09
    受け入れテストを前提とした開発プロセス
  • 状態ではなく、振る舞いをモックせよ

    TL;DR GOOS『実践テスト駆動開発』で触れられている「ロールをモックせよ」について、違った角度で解説ドメインモデルを豊かにすることでコードがシンプルになる例Mock Behaviors, Not Statesユニットテストを記述する際、テスト対象のオブジェクトが利用しているオブジェクト(依存オブジェクト、隣接オブジェクト)はモックオブジェクトにして、テストしたい状況をテストコード側からコントロールします。しかし、闇雲にモックを使ってテストを記述すれば良いわけではありません。今回は、モックが有効に機能するテストとはどういったものなのかを解説します。 サンプルコード簡単なサンプルで説明します。Extract Till You Dropのモデルと近いものを使います。グループ、メンバー、およびグループリポジトリがあります。グループオブジェクトはインメモリでは所属メンバーの情報を保持しておら

    状態ではなく、振る舞いをモックせよ
    atsushifx
    atsushifx 2013/11/08
    TDD\BDDでの注意点。テストで大事なのは中を意識させないこと。そのクラス/モジュールの入出力・振る舞いをテストするということ。
  • JavaScript - QUnitでBDD風に書いたりCIするために調べたこと - ぼっち勉強会

    調べたこと QUnit テスト関数を入れ子にしたい pavlov / specit(BDD風にテストを階層化) sinonjs(モックライブラリ) phantomjs(コマンドライン実行) travis連携の仕方 kannokanno/qunit-example QUnit的な使い方 インストール 非UIテスト(純粋なロジックテスト) UI(DOM)テスト 非同期テスト あたりはググればいっぱい情報出てくるので割愛。 サンプルコードは一応リポジトリにはある。 テスト関数を入れ子にしたい QUnitで一番困るというか、好みじゃない点です。 例えばこういうプロダクトコードがあるとします。 var Calc = (function(){ function Calc() { } Calc.prototype.add = function(x, y) { return x + y; } Cal

    JavaScript - QUnitでBDD風に書いたりCIするために調べたこと - ぼっち勉強会
  • 単体テストフレームワーク(xUnit)に関すること - 勘と経験と読経

    このブログエントリの言いたいことがわかるようでわからなかったので、整理してみる記事。ドキュメントベースの単体テストとxUnitの類いの単体テストフレームワークの違いに関する私見。ツール(手段)の話ではなく、目的を中心に考えれば良いと思っている。 もし、ドキュメントベースの単体テストをそのまま踏襲したままで、xUnitを導入しようとするならば、もう一度テストの対象や目的を確認してください。xUnitは手段でしかありません。xUnitは小さなプログラムを動作確認するために作られたツールです。 ドキュメントベースの単体テストでxUnitを導入する前に考えて欲しいこと | DevelopersIO ドキュメントベースの単体テスト 例えばこんな「ドキュメントベースの単体テスト」が行われていて、いきなりxUnit類のツールを適用するとかなり混乱すると思われる。 割と「単体テスト」というものを実施するこ

    単体テストフレームワーク(xUnit)に関すること - 勘と経験と読経
    atsushifx
    atsushifx 2013/10/22
    なんだか炎上しそうな記事。ユニットテストはツールに過ぎない。BDDにおける振る舞いのテストまで考えないとプロセスの改善につながらないだろう。xUnit前提のときは宣言的なプログラムを書くものだし
  • 振る舞い駆動開発に注目すべき理由

    Rustが再評価される:エコシステムの現状と落とし穴 In this article, we share findings and insights about the Rust community and ecosystem and elaborate on the peculiarities and pitfalls of starting new projects with Rust or migrating to Rust from othe...

    振る舞い駆動開発に注目すべき理由
  • 日本語テストメソッドについて

    PostgreSQLのロール管理とその注意点(Open Source Conference 2022 Online/Osaka 発表資料)NTT DATA Technology & Innovation

    日本語テストメソッドについて
    atsushifx
    atsushifx 2013/09/15
    そもそもスライドのメソッド名がいけてない。後半で指摘しているようにnamespaceなどを用いてテストを適切に書けばすむ。テストコード自体の読みやすさ、Readbilityなどの品質が問題で、日本語にすれば解決するわけじゃな
  • 「フカシギの数え方」の問題を解いてみた

    先日、「『フカシギの数え方』 おねえさんといっしょ! みんなで数えてみよう!」という動画を見た。格子状のマスの左上から右下までの経路が何通りあるのかを調べて、格子が多くなればなるほど組み合わせの数が爆発的に増えることを教えてくれる動画だ。これは自己回避歩行(Self-avoiding walk)と呼ばれている問題らしい。 これだけ聞いてもそれほどインパクトはないのだが、動画に出てくるおねえさんの経路を調べあげる執念がもの凄く、ネット上でも結構な話題になっている。執念と言うよりも狂気に近い。しかし、話題になった割には動画内で言及されている高速なアルゴリズムを実装したという話を聞かなかったので、自分で確かめることにした。 動画のおねえさんは深さ優先探索によるプログラムを使っていると思われるが、それだとスパコンを使っても10×10マスの格子を解くのに25万年も掛かってしまう。そこで、高速化のため

    「フカシギの数え方」の問題を解いてみた
  • PHPでBDD(Behavior Driven Development)する方法

    みなさんこんにちは。@ryuzeeです。 RubyであればRSpecやCucumberとか使って、むしろBDDしているケースの方が多いようですが、PHPでやっている事例はあまり聞きません。 とりあえずPHPでもBDDできることは確認できたので、その方法をご紹介します。 ※実戦投入にはもうちょっと検証は必要かもしれません。 BDDとは?BDDとはビヘイビア駆動開発(Behavior Driven Development)でテスト駆動開発から派生したものです。 テスト駆動開発とドメイン駆動設計を統合したようなイメージになります。 対象における「振る舞い」や「制約条件」の検証のために、自然言語的な記述でテストコードを記述します。 スペックファーストで仕様を作ってから実装するという流れになります(コードを書く前に振る舞いを決める)。 ということで、以下ではPHPでBDDを行う方法について解説してい

    PHPでBDD(Behavior Driven Development)する方法
  • brass.to - a really cool domain parked on Park.io

    The domain name brass.to is being parked on Park.io. Contact the domain owner to make an offer right now...

    atsushifx
    atsushifx 2009/03/02
    RSpecを使いこなすための参考際とリンク集
  • やる気が持続するテストの書き方 - Tlab Blog

    こんにちは。nayです。TDDと出会ったのは6年以上前ですが、最近、やっと"友達"になることができました。 テストを楽しく積極的に書く心境になれるかどうかは、気だてや価値観や根性の問題ではなく、テクニックの問題であると思います。そこで、テスト嫌いの私がどうやってTDDと友達になれたかを、3つのポイントに絞ってご紹介したいと思います。 1. 関心事だけをテストする 2. DRYにする 3. RSpec 私がテストが嫌いになった理由の一つは、コード変更時にテストが足かせになることです。出るべくして出たエラーはありがたいのですが、関係ない部分で大量にエラーが出ると直すが大変で嫌になってしまいます。また、直そうとしたときに、テストのコードが読みにくいと、難行苦行に直面することになります。最初の2つのポイントは、このようなテストの「丈夫さ」と「読みやすさ」に関わるコツです。 関心事だけをテストする

    atsushifx
    atsushifx 2009/02/21
    TDD、BDDで必要最低限なテストにすることでTDDを成功させるための考え方
  • 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に矛盾する? - カタチづくり
    atsushifx
    atsushifx 2009/02/09
    アジャイルなプログラミングをうまく行うための考え方。コメントをじっくり読むべし
  • JavaScript Behavior Driven Development (BDD) With JSpec

    Test JavaScript functionality extremely quickly using the intuitive, minimalistic, JSpec framework. This framework aims to provide nearly no installation hassle, an extremely low learning curve, and high reliability for testing JavaScript behaviors. Why A New BDD Framework For JavaScript? JavaScript certainly has a handful of test frameworks, however nearly all of them seemed out-dated in terms of

    atsushifx
    atsushifx 2009/01/28
    JavaScriptでBDDをするためのライブラリ
  • 1