タグ付けされた質問 「mocking」

モックと偽造は、コードまたはコンポーネントを分離して、実際に他のコンポーネントやアプリケーションの依存関係を実際に利用せずに、テスト可能なコードのユニットに対してのみユニットテストを実行できるようにする方法です。モックは、モックを検査してテストの結果を主張できるという点で偽造とは異なります。


8
他のモジュールを必要とするNode.jsモジュールを単体テストする方法と、グローバルなrequire関数をモックする方法は?
これは私の問題の核心を説明する簡単な例です: var innerLib = require('./path/to/innerLib'); function underTest() { return innerLib.doComplexStuff(); } module.exports = underTest; このコードの単体テストを記述しようとしています。関数を完全にモックアウトinnerLibせずに、の要件をモックアウトするにはどうすればよいrequireですか? だから私はグローバルをモックアウトしようとrequireしていて、それをやってもうまくいかないことを見つけようとしています: var path = require('path'), vm = require('vm'), fs = require('fs'), indexPath = path.join(__dirname, './underTest'); var globalRequire = require; require = function(name) { console.log('require: ' + name); switch(name) { case 'connect': case indexPath: return globalRequire(name); …

8
AngularJS Jasmine単体テストでpromiseを返すサービスをモックするにはどうすればよいですか?
私はmyServiceそれを使用myOtherServiceして、リモート呼び出しを行い、promiseを返します。 angular.module('app.myService', ['app.myOtherService']) .factory('myService', [ myOtherService, function(myOtherService) { function makeRemoteCall() { return myOtherService.makeRemoteCallReturningPromise(); } return { makeRemoteCall: makeRemoteCall }; } ]) ユニットテストを作成するには、そのメソッドがpromiseを返すようmyServiceにモックする必要があります。これが私のやり方です:myOtherServicemakeRemoteCallReturningPromise describe('Testing remote call returning promise', function() { var myService; var myOtherServiceMock = {}; beforeEach(module('app.myService')); // I have to inject mock when calling module(), // and module() should come …

9
Mockitoで可変引数を適切に一致させる方法
私はMockitoを使用して、可変引数パラメーターを持つメソッドをモックしようとしています: interface A { B b(int x, int y, C... c); } A a = mock(A.class); B b = mock(B.class); when(a.b(anyInt(), anyInt(), any(C[].class))).thenReturn(b); assertEquals(b, a.b(1, 2)); これは機能しませんが、代わりにこれを行うと: when(a.b(anyInt(), anyInt())).thenReturn(b); assertEquals(b, a.b(1, 2)); これは機能しますが、メソッドをスタブするときにvarargs引数を完全に省略しています。 手がかりはありますか?

2
Mockitoで検出された未完成のスタブ
テストの実行中に次の例外が発生します。私はモッキングにモッキートを使用しています。Mockitoライブラリで言及されているヒントは役に立ちません。 org.mockito.exceptions.misusing.UnfinishedStubbingException: Unfinished stubbing detected here: -> at com.a.b.DomainTestFactory.myTest(DomainTestFactory.java:355) E.g. thenReturn() may be missing. Examples of correct stubbing: when(mock.isOk()).thenReturn(true); when(mock.isOk()).thenThrow(exception); doThrow(exception).when(mock).someVoidMethod(); Hints: 1. missing thenReturn() 2. you are trying to stub a final method, you naughty developer! at a.b.DomainTestFactory.myTest(DomainTestFactory.java:276) .......... からのテストコードDomainTestFactory。次のテストを実行すると、例外が表示されます。 @Test public myTest(){ MyMainModel mainModel = Mockito.mock(MyMainModel.class); Mockito.when(mainModel.getList()).thenReturn(getSomeList()); // …
151 java  mocking  mockito 

9
入力引数に基づくPython関数のモック
しばらくの間、PythonでMockを使用しています。 今、私たちは関数をモックしたい状況があります def foo(self, my_param): #do something here, assign something to my_result return my_result 通常、これをモックする方法は次のとおりです(fooがオブジェクトの一部であると想定) self.foo = MagicMock(return_value="mocked!") でも、foo()を数回呼び出すと、使用できます self.foo = MagicMock(side_effect=["mocked once", "mocked twice!"]) 現在、入力パラメーターが特定の値であるときに固定値を返したいという状況に直面しています。「my_param」が「something」と等しい場合、「my_cool_mock」を返します これはpythonのmockitoで利用できるようです when(dummy).foo("something").thenReturn("my_cool_mock") 私はモックで同じことを達成する方法を探していましたが、成功しませんでしたか? 何か案は?

5
Rhino Mocksのモックとスタブの違いは何ですか?
私はこれで十分に遊んでいないため、通常モックを使用しますが、この2つとRhino Mocksでどちらか一方をいつ使用するかにはどのような違いがあるのでしょうか。 更新: 私の質問への答えもアイエンデの言葉で見つかりました: スタブとモックの違い この記事でこれらの用語の実際の定義を理解できます。モックはスタブではありません。Rhino Mocksの視点からの違いに焦点を当てたいと思います。 モックは、期待を設定できるオブジェクトであり、期待されるアクションが実際に発生したことを確認します。スタブは、テスト対象のコードに渡すために使用するオブジェクトです。期待値を設定できるため、特定の方法で動作しますが、それらの期待値は検証されません。スタブのプロパティは自動的に通常のプロパティのように動作し、それらに期待を設定することはできません。 テスト中のコードの動作を確認したい場合は、適切な期待でモックを使用し、それを確認します。特定の方法で動作する必要があるが、このテストの焦点では​​ない値を渡すだけの場合は、スタブを使用します。 重要:スタブが原因でテストが失敗することはありません。

14
ユニットテスト用にC#でファイルシステムをモックアウトするにはどうすればよいですか?
Наэтотвопросестьответына Overflowнарусском:git- サーバーホストキーがキャッシュされていません ユニットテストを作成するためにC#でファイルシステムをモックアウトするライブラリまたはメソッドはありますか?私の現在のケースでは、特定のファイルが存在するかどうかを確認し、作成日を読み取るメソッドがあります。将来的にはそれ以上のものが必要になるかもしれません。
149 c#  unit-testing  mocking 

21
デバイス上のAndroidモックの場所?
物理デバイス(Nexus One)で現在地を模擬するにはどうすればよいですか?エミュレータコントロールパネルのエミュレータを使用してこれを実行できることを知っていますが、これは物理デバイスでは機能しません。
147 android  gps  location  mocking 

5
Request.CreateResponseによるASP.NET WebApiユニットテスト
私のApiControllerのユニットテストを記述しようとして、いくつかの問題に直面しました。Request.CreateResponseと呼ばれる優れた拡張メソッドがあり、応答の生成に役立ちます。 public HttpResponseMessage Post(Product product) { var createdProduct = repo.Add(product); return this.Request.CreateResponse(HttpStatusCode.Created, createdProduct); } 部分的なモックを使用せずに、または「新しいHttpResponseMessage(...)」を直接使用せずにCreateResponseをモックする方法はありますか?

6
Goのモック関数
私は小さな個人プロジェクトをコーディングすることで囲碁を学んでいます。小さいながら、厳密なユニットテストを行って、最初からGoの良い習慣を学ぶことにしました。 ささいな単体テストはすべて上手くできていましたが、今は依存関係に困惑しています。一部の関数呼び出しをモック呼び出しに置き換えられるようにしたい。これが私のコードのスニペットです: func get_page(url string) string { get_dl_slot(url) defer free_dl_slot(url) resp, err := http.Get(url) if err != nil { return "" } defer resp.Body.Close() contents, err := ioutil.ReadAll(resp.Body) if err != nil { return "" } return string(contents) } func downloader() { dl_slots = make(chan bool, DL_SLOT_AMOUNT) // Init the …
147 unit-testing  mocking  go 

7
インポートをモックする方法
モジュールの上部にA含まimport Bれています。しかし、試験条件の下で、私はしたいと思いモック BでA(モックA.B)と完全に輸入を控えますB。 実際、B意図的にテスト環境にインストールされることはありません。 Aテスト中のユニットです。Aすべての機能をインポートする必要があります。B私がモックする必要があるモジュールです。しかし、最初に行うことがインポートである場合、どうすればB内部をモックして実際のインポートAを停止できますか?ABAB (Bがインストールされていない理由は、迅速なテストのためにpypyを使用しているためです。残念ながら、Bはまだpypyと互換性がありません。) これはどのように行うことができますか?

11
PHPUnit MockObjectsがパラメーターに基づいて異なる値を返すようにするにはどうすればよいですか?
'return value'引数に関係なく返すPHPUnitモックオブジェクトを持っています。 // From inside a test... $mock = $this->getMock('myObject', 'methodToMock'); $mock->expects($this->any)) ->method('methodToMock') ->will($this->returnValue('return value')); 私ができることは、モックメソッドに渡された引数に基づいて異なる値を返すことです。私は次のようなことを試しました: $mock = $this->getMock('myObject', 'methodToMock'); // methodToMock('one') $mock->expects($this->any)) ->method('methodToMock') ->with($this->equalTo('one')) ->will($this->returnValue('method called with argument "one"')); // methodToMock('two') $mock->expects($this->any)) ->method('methodToMock') ->with($this->equalTo('two')) ->will($this->returnValue('method called with argument "two"')); しかし、これは、モックが引数'two'で呼び出されない場合にPHPUnitが文句を言うのでmethodToMock('two')、の定義が最初の定義を上書きすると仮定します。 だから私の質問は:PHPUnitモックオブジェクトを取得して、その引数に基づいて異なる値を返す方法はありますか?もしそうなら、どのように?

5
モックvs MagicMock
私の理解では、MagicMockは自動的に「マジックメソッド」を実行するMockのスーパーセットであり、リスト、反復などのサポートをシームレスに提供します...では、プレーンMockが存在する理由は何ですか?それは、MagicMockの一部を取り除いたバージョンであり、実際には無視できますか?DOES モッククラスがで使用できないすべてのトリックを知ってMagicMockを?
138 python  mocking 


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.