問題タブ [bdd]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
objective-c - Objective-C の BDD
私は最近、Objective-C を学び、Xcode にバンドルされている OCUnit を使用してテストを書き始めました。
私は長年の Ruby プログラマーであり、RSpec と Cucumber (優れた BDD フレームワーク) に慣れています。
Objective-C で使用する適切な BDD フレームワークはありますか? 私は私の「すべき」を逃しています:)
testing - BDDまたはTDD?どっちがいい?なぜ?
多くの開発者が、新しいプロジェクトを開始するときにどのスタイルのテストを使用するかについて意見が分かれているのを目にします。この特定のスタイルを他のスタイルよりも選択する理由を知りたい.
ruby - 開始したプロジェクトでTDDまたはBDDを目指すことはできますか?
次のような質問への回答に勇気づけられて、すでに開始したプロジェクトでTDDとBDDを試してみることにしました。 まだ使用していないプロジェクトでTDDを使用し始める必要があります。
私は本当にそれから始めるのに苦労しています。私のプロジェクト(オープンソース、 http://gitorious.org/rubotsでホストされている)はゲームのようなもので、Rubyを使用してラップし、制御サーバーと物理シミュレーション環境に接続します。スクリプトが実行され、GUIが表示され、ユーザーが[開始]をクリックすると、2つの外部c ++プログラムが起動されます。そのうちの1つは物理シミュレーションであり、Rubyバインディングを備えたライブラリによって制御されます。シミュレーションと制御プログラムをリセットする方法はありません。再起動する必要があります。それらを起動し、動作状態にするのに5秒ほどかかります。このコンテキストでは、何かが移動する前に開始フェーズ全体のテストが必要であり、シミュレーションは、提供する必要のある外部構成ファイルに依存します。
テストケースを書き始めることは本当に価値がありますか?どのように?ゲームを開始したり、アプリケーションを起動したりする:beforeなどのすべてのテスト?次に、すべてのテストに少なくとも5秒かかります(コマンドをコミットしてシミュレーションのエンティティが応答するのを待つ必要がある場合は、かなり長くかかります)。
何かが足りません。BDDとTDDだけでなく、この種のアプリケーションのテストユニットもスキップする必要がありますか?
ruby-on-rails - CucumberをCodetoTest Ratioに統合する方法は?
「rakestats」を使用すると、RSpecテスト用に作成したコードの行数を知ることができます。また、私のRSpecテストは、コードとテストの比率にも影響します。
しかし、そこにあるCucumberステップからのコード行もリストできますか?
よろしくお願いします
php - PHP アプリケーション用キュウリ
Railsの外でCucumberを使用することは可能ですか? PHPアプリケーションのいくつかをテストするためにそれを使い始めたいのですが、どうやって始めればいいのか本当にわかりません.
おそらく最も簡単な方法は、Cucumber 機能を実行するためだけに Rails プロジェクトを作成することですが、それはやり過ぎのように思えます。
Rails 以外のアプリケーションをテストするために Cucumber を設定する最も簡単な方法は何ですか?
design-patterns - 仕様パターンと BDD の仕様
私は行動駆動設計とドメイン駆動設計を探求しようとしています。私は、書かれた仕様が BDD のテストを駆動することを理解していますが、ドメイン オブジェクトやリポジトリなどで再利用するために仕様パターンを使用してビジネス ロジックをカプセル化することもできます。
これらは基本的に同じ概念であり、異なる方法で使用されているだけなのか、一緒に使用されているのか、それとも概念を完全に混乱させているのでしょうか?
可能であれば、光を当ててください。
c# - リポジトリ パターンを実装する最良の方法は?
私は BDD/DDD を調査しており、その結果、リポジトリ パターンの適切な実装を考え出そうとしています。これまでのところ、これを実装する最善の方法についてコンセンサスを見つけるのは困難でした。次のバリエーションに煮詰めようとしましたが、どれが最善のアプローチかはわかりません。
参考までに、バックエンドとしてNHibernateを使用してASP.MVCアプリケーションを構築しています。
私の最初の考えは、
1) 効率の観点からは優れていますが、複雑になると問題が発生する可能性があります。
2) 非常に退屈なようで、非常に混雑したクラスになる可能性があります。
3) 前もってクエリを作成するのは難しく、より多くの作業が必要に思えますが、相互汚染は Specs レイヤーだけに限定されます。
4) あまり好きではありませんが、おそらく最も直接的な実装であり、複雑なクエリに対して最も効率的なデータベースですが、呼び出し元のコードに多くの責任が課せられます。
ruby-on-rails - コントローラーをどのくらいテストしますか?
私は現在 BDD を始めています - 以前にテストを書いたことがありません。私は常に、モデルをファットに保ち、コントローラーをスリムに保つようにしています。
どう思いますか? コントローラーのスペックは必要ですか?
よろしくお願いします
ruby-on-rails - Cucumber と Webrat を使用して、フォームに値が事前入力されていることを確認するにはどうすればよいですか?
私は Rails で Cucumber と Webrat を学んでおり、「編集」フォームをテストする最良の方法についてアドバイスを求めています。ユーザーのプロファイルを参照すると、ユーザーの情報がフォーム フィールドに事前入力された編集フォームが表示されます。フィールドに期待する情報が実際に含まれていることをテストできるようにしたいと考えています。これが私のシナリオです:
Cucumber は、次のカスタム ステップを定義する必要があることを正しく示しています。
これらのステップの評価を実装するための厄介な正規表現を見つけ出すことができると確信していますが、私ができる何かがすでに存在するか、より洗練されているに違いないと感じています。フォーム フィールドにデータが事前入力されたフォームをどのように評価しますか?
c# - 貧血ドメイン モデルを回避する方法、またはメソッドをエンティティからサービスに移動するタイミング
一般的に、DDD とドメイン モデリングの経験が豊富な人からのガイダンスを探しているという一般的なシナリオがあります。
ブログ エンジンの構築を開始するとします。最初の要件は、記事が投稿された後、ユーザーがコメントを投稿できるようにすることです。これは問題なく開始され、次の設計につながります。
私のMVCコントローラーは次のように設計されています:
これですべてが正常に機能し、要件を満たしています。次のイテレーションでは、コメントが投稿されるたびに、ブログの作成者に通知メールを送信する必要があります。
この時点で、私が考えることができる2つの選択肢があります。1) アーティクルを変更して IEmailService を要求するか (ctor で?)、DI コンテナーへの静的参照から EmailService を取得します。
1a) かなり醜いようです。私のエンティティがサービスを認識しているドメイン モデル ルールに違反していると思いますか?
1b) また、醜いようですが、静的にアクセスされる構成済みの DI コンテナーが必要になりました。
2) IArticleService を作成し、AddComment() メソッドを記事エンティティ自体ではなくこのサービスに移動します。
このソリューションはよりクリーンだと思いますが、コメントを追加することは発見されにくくなり、作業を実行するには ArticleService が必要になります。AddComment は Article クラス自体に属する必要があるようです。
したがって、私は基本的に、ドメイン モデリングの経験が豊富な人からのアドバイスを求めています。より明白な解決策が見つからない場合は、お知らせください:)
サービスオプションは見つけにくいため、正直なところ、どちらのソリューションも一般的に嫌いです。ArticleService を利用できないと、記事のインスタンスにコメントを追加できなくなりました。また、AddComment は Article 型の明白なメソッドのように見えるため、あまり自然ではないように感じます。
とにかく、私は入力を読むのを楽しみにしています。前もって感謝します。