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

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

11
mockitoでオブジェクトの属性値を確認する
mockitoでモックしたいメソッド呼び出しがあります。まず、メソッドが呼び出されるオブジェクトのインスタンスを作成して注入しました。私の目的は、メソッド呼び出しでオブジェクトの1つを検証することです。 mockitoを使用して、モックメソッドが呼び出されたときにオブジェクトとその属性をアサートまたは検証できる方法はありますか? 例 Mockito.verify(mockedObject) .someMethodOnMockedObject( Mockito.<SomeObjectAsArgument>anyObject()) 代わりにanyObject()、引数オブジェクトに特定のフィールドが含まれていることを確認したい Mockito.verify(mockedObject) .someMethodOnMockedObject( Mockito.<SomeObjectAsArgument>**compareWithThisObject()**)
264 java  mocking  mockito 

11
mockMvcで応答本文の文字列を確認する方法
簡単な統合テストがあります @Test public void shouldReturnErrorMessageToAdminWhenCreatingUserWithUsedUserName() throws Exception { mockMvc.perform(post("/api/users").header("Authorization", base64ForTestUser).contentType(MediaType.APPLICATION_JSON) .content("{\"userName\":\"testUserDetails\",\"firstName\":\"xxx\",\"lastName\":\"xxx\",\"password\":\"xxx\"}")) .andDo(print()) .andExpect(status().isBadRequest()) .andExpect(?); } 最後の行で、応答の本文で受け取った文字列を期待される文字列と比較したい そしてそれに応えて私は得る: MockHttpServletResponse: Status = 400 Error message = null Headers = {Content-Type=[application/json]} Content type = application/json Body = "Username already taken" Forwarded URL = null Redirected URL = null content()、body()を使用していくつかのトリックを試しましたが、何も機能しませんでした。

9
リクエストとレスポンスをモックするにはどうすればよいですか?
Pythonsモックパッケージを使用してPythons requestsモジュールをモックしようとしています。以下のシナリオで私を働かせるための基本的なコールは何ですか? 私のviews.pyには、毎回異なる応答でさまざまなrequests.get()呼び出しを行う関数があります def myview(request): res1 = requests.get('aurl') res2 = request.get('burl') res3 = request.get('curl') 私のテストクラスでは、このようなことをしたいのですが、正確なメソッド呼び出しを理解できません ステップ1: # Mock the requests module # when mockedRequests.get('aurl') is called then return 'a response' # when mockedRequests.get('burl') is called then return 'b response' # when mockedRequests.get('curl') is called then return 'c response' ステップ2: 私の見解を呼ぶ …
221 python  mocking  request 


5
Mockitoモックオブジェクトに、次に呼び出されたときに別のオブジェクトを返すように指示するにはどうすればよいですか?
だから、私はモックオブジェクトをクラスレベルで静的変数として作成しています...あるテストでFoo.someMethod()は特定の値を返し、別のテストでは別の値を返します。私が抱えている問題は、これを正しく機能させるためにモックを再構築する必要があるようだということです。モックの再構築を避け、各テストで同じオブジェクトを使用するだけです。 class TestClass { private static Foo mockFoo; @BeforeClass public static void setUp() { mockFoo = mock(Foo.class); } @Test public void test1() { when(mockFoo.someMethod()).thenReturn(0); TestObject testObj = new TestObject(mockFoo); testObj.bar(); // calls mockFoo.someMethod(), receiving 0 as the value } @Test public void test2() { when(mockFoo.someMethod()).thenReturn(1); TestObject testObj = new TestObject(mockFoo); …

4
Mockitoの一般的な「any()」メソッドを使用する
私は配列を期待するメソッドとのインターフェースを持っていますFoo: public interface IBar { void doStuff(Foo[] arr); } 私はMockitoを使用してこのインターフェイスをモックしており、それdoStuff()が呼び出されたと主張したいのですが、渡された引数を検証したくありません-「気にしないでください」。 次のコードをany()、ジェネリックメソッドの代わりにを使用してどのように記述しますanyObject()か? IBar bar = mock(IBar.class); ... verify(bar).doStuff((Foo[]) anyObject());

8
(PythonのMockフレームワークを使用して)withステートメントで使用されているopenをモックするにはどうすればよいですか?
モックを使用して次のコードをテストするにはどうすればよいですか(モック、パッチデコレーター、およびMichael Foordのモックフレームワークによって提供されるセンチネルを使用)。 def testme(filepath): with open(filepath, 'r') as f: return f.read()

4
Test InitメソッドのHttpContext.Currentのモック
作成したASP.NET MVCアプリケーションに単体テストを追加しようとしています。単体テストでは、次のコードを使用します。 [TestMethod] public void IndexAction_Should_Return_View() { var controller = new MembershipController(); controller.SetFakeControllerContext("TestUser"); ... } 次のヘルパーを使用して、コントローラーコンテキストをモックします。 public static class FakeControllerContext { public static HttpContextBase FakeHttpContext(string username) { var context = new Mock<HttpContextBase>(); context.SetupGet(ctx => ctx.Request.IsAuthenticated).Returns(!string.IsNullOrEmpty(username)); if (!string.IsNullOrEmpty(username)) context.SetupGet(ctx => ctx.User.Identity).Returns(FakeIdentity.CreateIdentity(username)); return context.Object; } public static void SetFakeControllerContext(this Controller controller, string …

4
モックメソッドへの連続した呼び出しのアサート
モックには便利なassert_called_with()方法があります。ただし、私が理解している限り、これはメソッドの最後の呼び出しのみをチェックします。 モックされたメソッドを連続して3回、異なるパラメーターで3回呼び出すコードがある場合、これらの3つの呼び出しを特定のパラメーターでアサートするにはどうすればよいですか?
175 python  mocking 

5
Mockitoでモックからチェックされた例外をスローする
特定のメソッドが呼び出されたときに、モックされたオブジェクトの1つにチェック例外をスローさせようとしています。私は以下を試しています。 @Test(expectedExceptions = SomeException.class) public void throwCheckedException() { List<String> list = mock(List.class); when(list.get(0)).thenThrow(new SomeException()); String test = list.get(0); } public class SomeException extends Exception { } ただし、次のエラーが発生します。 org.testng.TestException: Expected exception com.testing.MockitoCheckedExceptions$SomeException but got org.mockito.exceptions.base.MockitoException: Checked exception is invalid for this method! Invalid: com.testing.MockitoCheckedExceptions$SomeException Mockitoのドキュメントを見ると、彼らは使用しているだけRuntimeExceptionですが、Mockitoでモックオブジェクトからチェックされた例外をスローすることはできませんか?
173 java  mocking  mockito 

7
Moqによる拡張メソッドのモック
既存のインターフェースがあります... public interface ISomeInterface { void SomeMethod(); } ミックスインを使用してこのインターフェースを拡張しました... public static class SomeInterfaceExtensions { public static void AnotherMethod(this ISomeInterface someInterface) { // Implementation here } } 私はテストしたいこれを呼び出すクラスがあります... public class Caller { private readonly ISomeInterface someInterface; public Caller(ISomeInterface someInterface) { this.someInterface = someInterface; } public void Main() { someInterface.AnotherMethod(); } } …

9
ASP.Net MVCでコントローラーの要求をモックする方法は?
ASP.Net MVCフレームワークを使用したC#のコントローラーがあります public class HomeController:Controller{ public ActionResult Index() { if (Request.IsAjaxRequest()) { //do some ajaxy stuff } return View("Index"); } } 私はモックに関するいくつかのヒントを得て、以下とRhinoMocksでコードをテストしたいと思っていました var mocks = new MockRepository(); var mockedhttpContext = mocks.DynamicMock<HttpContextBase>(); var mockedHttpRequest = mocks.DynamicMock<HttpRequestBase>(); SetupResult.For(mockedhttpContext.Request).Return(mockedHttpRequest); var controller = new HomeController(); controller.ControllerContext = new ControllerContext(mockedhttpContext, new RouteData(), controller); var result …

1
Pythonは複数の戻り値を模擬
私はpythons mock.patchを使用していて、呼び出しごとに戻り値を変更したいと思います。ここで注意点があります。パッチを適用する関数には入力がないため、入力に基づいて戻り値を変更できません。 これが参考のための私のコードです。 def get_boolean_response(): response = io.prompt('y/n').lower() while response not in ('y', 'n', 'yes', 'no'): io.echo('Not a valid input. Try again']) response = io.prompt('y/n').lower() return response in ('y', 'yes') 私のテストコード: @mock.patch('io') def test_get_boolean_response(self, mock_io): #setup mock_io.prompt.return_value = ['x','y'] result = operations.get_boolean_response() #test self.assertTrue(result) self.assertEqual(mock_io.prompt.call_count, 2) io.prompt「入力」のプラットフォームに依存しない(python 2および3)バージョンです。したがって、最終的にはユーザーの入力を模倣しようとしています。戻り値にリストを使用してみましたが、それではうまくいきません。 戻り値が無効な場合、ここで無限ループが発生することがわかります。したがって、最終的に戻り値を変更して、テストが実際に終了する方法が必要です。 (この質問に答える別の可能な方法は、ユニットテストでユーザー入力をどのように模倣できるかを説明することです) …

11
モックオブジェクトの目的は何ですか?
私はユニットテストに不慣れです。「モックオブジェクト」という言葉が頻繁に飛び交います。素人の言葉で、誰かがモックオブジェクトとは何か、そしてユニットテストを書くときにそれらが通常使用されるものを説明できますか?

3
Moqを使用してメソッドが呼び出されたかどうかを判別する
より高いレベルのメソッドを呼び出すと、メソッド呼び出しが発生することをテストできることは理解しています。つまり、 public abstract class SomeClass() { public void SomeMehod() { SomeOtherMethod(); } internal abstract void SomeOtherMethod(); } 私が呼び出すSomeMethod()場合、それSomeOtherMethod()が呼び出されることを期待しているかをテストしたいと思います。 この種のテストはモックフレームワークで利用できると思いますか?
159 c#  .net  unit-testing  mocking  moq 

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