問題タブ [stub]

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.

0 投票する
1 に答える
448 参照

ruby-on-rails - RSpec:ネストされたリソースを使用している場合、画像を文字列に変換できません

RSpecビューテストで問題が発生しました。ネストされたリソースとbelongs_toアソシエーションを持つモデルを使用しています。

これが私がこれまでに持っているものです:

私が受け取っているエラー:

例外が発生するレールコードを見ると、あまりわかりません。ここで何が起こっているのかをどのように絞り込むことができるかについてのアイデアはありますか?

私が試した1つのことは、例から直接form_forを呼び出すことでしたが、Spec :: Rails :: Example :: ViewExampleGroup :: Subclass_4:0xblahで定義された「polymorphic_path」の欠如について別のエラーが発生しました。それが実際に何かを意味するかどうかはわかりません。

0 投票する
3 に答える
200 参照

version-control - バージョン管理 - スタブとモック

この質問のために、スタブ、モック、ダミー、偽物などの違いは気にしません。

たとえば、私が他の 1 人とプロジェクトに取り組んでいるとします。私はコンポーネント A に取り組んでおり、彼はコンポーネント B に取り組んでいます。それらは連携して動作するので、私はテストのために B をスタブ化し、彼は A をスタブ化します。ここ。

コンポーネントを一緒にマージするときが来たら、私の A と彼の B から「本物の」ファイルを取得する必要がありますが、偽物はすべて破棄します。開発中、偽物は本物と同じファイル名とクラス名を持つ可能性があります (適切にスタブする方法を学ぶ必要がない限り)。

私の質問は次のとおりです。偽物でバージョン管理を行うための適切な手順は何ですか?コンポーネントはどのように正しくマージされ、偽物ではなく本物を確実に取得しますか? 1 つの方法は、マージを実行し、CONFLICT と表示されることを期待して、半分マージされたファイルからすべての偽のコードを手動で削除することだと思います。しかし、これは面倒で非効率に思えます。

偽物は VC の下に置かれるべきではありませんか? 合併する直前にそれらを引き裂く必要がありますか? これに対する答えが明白または些細な場合は申し訳ありませんが、ここで「推奨される方法」を探しているだけです。

編集:私が気付いていなかったいくつかの追加情報が重要であることが判明しました。私は特に Web 開発について話しているのですが、.NET 開発について話しているのではありません。私の歴史は、その点で人々を誤解させてきたようです。

0 投票する
2 に答える
3491 参照

windows - Windows用のlua「スタブ」dllの目的は何ですか

私はLuaをC++プロジェクトに組み込むことを検討していますが、Luabinariesからのディストリビューションに2つのバイナリ(lua51.dllとlua5.1.dll)が存在することに少し混乱しています

ドキュメントによると...

Windowsでは、ライブラリまたはアプリケーションをスタブライブラリにリンクする必要があります。スタブライブラリは、DLLをLuaDLLにバインドする関数宣言のみを含むライブラリです。

なんで?サードパーティのDLLとリンクするときに、これまでスタブDLLが必要だったことはありませんか?

0 投票する
1 に答える
722 参照

php - ワードプレスのようなユニークなタイトルを生成するには?

マヤさん、wordpress のようなユニークなタイトルを生成する必要があります。タイトルhello-worldが存在する場合、次のタイトルはhello-world-2になります

ありがとう

0 投票する
7 に答える
2706 参照

unit-testing - 単体テストをシンプルかつ分離した状態に保ちながら、DDD 不変条件を保証するにはどうすればよいでしょうか?

DDD では、ドメイン オブジェクトを常に有効な状態にすることをお勧めします。集約ルートは、オブジェクトが有効な状態で初期化されるように、必要なすべての部分でオブジェクトを組み立てるための不変条件とファクトリを保証する責任があります。

ただし、これにより、単純で分離された単体テストを作成するタスクが非常に複雑になるようです。

Books を含む BookRepository があるとします。本には次のものがあります。

  • 著者
  • カテゴリー
  • その本を見つけることができる書店のリスト

これらは必須の属性です。書籍には、著者、カテゴリ、および少なくとも書籍を購入できる書店が必要です。これは非常に複雑なオブジェクトであるため、BookFactory が存在する可能性が高く、Factory は少なくとも前述のすべての属性で Book を初期化します。おそらく、Book コンストラクターを非公開 (および入れ子になった Factory) にして、Factory 以外の誰も空の Book をインスタンス化できないようにします。

次に、すべての本を返す BookRepository のメソッドを単体テストします。メソッドが本を返すかどうかをテストするには、一部の本がすでにリポジトリにあるテスト コンテキスト (AAA 用語でのアレンジ ステップ) を設定する必要があります。

C# の場合:

Book オブジェクトを作成するために自由に使用できる唯一のツールが Factory であることを考えると、単体テストは Factory を使用し、これらのオブジェクトに間接的に依存しています。テストコンテキスト。

これは、サービスの単体テストで、たとえばサービスが呼び出すリポジトリに依存するのと同じように、依存関係であると考えますか?

単純なことをテストできるようにするために、オブジェクトのクラスター全体を再作成しなければならないという問題をどのように解決しますか? この依存関係を壊して、テストで不要な Book 属性をすべて取り除くにはどうすればよいでしょうか? モックまたはスタブを使用して?

リポジトリに含まれるものをモックアップする場合、テスト対象のオブジェクトが通信または消費するものをモックアップするときとは対照的に、どの種類のモック/スタブを使用しますか?

0 投票する
3 に答える
10768 参照

ruby - Test::Unit で any_instance の Mocha スタブを元に戻す方法はありますか

この質問と同じように、私も Ryan Bates の nifty_scaffold を使用しています。これには、Mocha のany_instanceメソッドを使用して、コントローラーの背後に埋め込まれたモデル オブジェクトに「無効な」状態を強制するという望ましい側面があります。

リンク先の質問とは異なり、RSpec を使用していませんが、Test::Unit を使用しています。つまり、そこにある 2 つの RSpec 中心のソリューションは、私にとってはうまくいかないということです。

any_instance スタブを削除する一般的な (つまり、Test::Unit で動作する) 方法はありますか? テストでバグが発生していると思われるので、それを確認したいと思います。

0 投票する
2 に答える
854 参照

java - Scala でのスタブ Web 呼び出し

私は現在、Scala を学ぶために Spotify メタデータ API のラッパーを作成しています。すべてうまくいっていますが、コードを単体テストしたいと思います。これを適切に行うには、Spotify API をスタブして、一貫した戻り値を取得する必要があります (トラックの人気度などは非常に頻繁に変化します)。

Scala、JVM全般、またはMavenセットアップに接続できる外部ツールを使用してWeb呼び出しをスタブする方法を知っている人はいますか?

PS私は基本的にRubyのFakeWebのようなものを探しています...

前もって感謝します!

0 投票する
2 に答える
5672 参照

ruby-on-rails - RSpec で before_filter をスタブする

:load_userの実際の実装を変更して の:load_userインスタンスを返さないと、すべてのテストが失敗するため、このコントローラー メソッド をスタブできないように見える理由を理解するのに苦労し ています@user

controller.stub!(:load_user).and_return(@user)RSpec がコントローラーにリクエストを行ったときに、私のスタブ ( ) が実際に呼び出されなかったように見える理由がわかる人はいますか?

私のスタブが機能しない理由は誰にも分かりますか? 私が言ったように、私のテストは、load_user が機能することを確認した場合にのみパスします。そうでない場合、すべてのテストが失敗するため、作成したスタブを RSpec が使用していないと思います。

0 投票する
4 に答える
1957 参照

java - Java に最適な分離フレームワークはどれですか? JMock、Easymock、Mockito、またはその他?

これは以前にも質問されたことがあると思いますが、前回は 2008 年半ばでした。

あなたが今新しいプロジェクトを始めるとしたら、どれを使いますか?またその理由は何ですか? 読みやすさ、使いやすさ、保守性、および全体的な堅牢性に関する長所/短所は何ですか?

0 投票する
2 に答える
1408 参照

zend-framework - Zend Framework/PHPUnit: データベースに接続するオブジェクト メソッドをスタブ/モックする方法は?

私の Zend Framework プロジェクトには、テスト中のフォームがあります。私のフォームでは、複数選択要素はモデルからオプションを取得し、データベースからそれらを取得します。

PHPUnit ドキュメントの例をコピーしてみましたが、うまくいかないようです。

データベース内に存在しないテーブルを検索しようとしているため、テストは失敗します。しかし、データベースにまったく接続したくありません。データベースを呼び出さないように、このメソッドを正しくスタブ/モックするにはどうすればよいですか?