問題タブ [ocmockito]
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.
ios - OCMockito は「const void *」パラメータを取るメソッドをスタブできますか?
私MessageSerializer
のクラスには、署名が次のようなメソッドがあります。
OCMockito を使用してスタブできますか? モック シリアライザーはどこにありますかserializer
。コンパイラは、テスト メソッドで次のすべてのフォームを承認します。
...しかし、呼び出されたときにモックがテスト対象のクラスに「メッセージ」を返すようにするものはありませんdeserialize:length:
。
ios - OCMockito でクラス メソッドをスタブするにはどうすればよいですか?
OCMockito のドキュメントでは、クラス オブジェクトをモックすることは可能であると主張していますが、その方法を理解できるとしたら気が遠くなります。次のテストは次のエラーで失敗しますExpected "Purple" but was ""
:
上記のリンクされた FAQ セクション「クラス オブジェクトをどのようにモックしますか?」への回答があれば、クラスメソッドの戻り値をスタブできることを意味するわけではありませんが、それは何に使用されますか?
編集:
もちろん、上記は縮退した例であり、実際の [NSString string] 呼び出しはテスト対象のメソッド内にあります。
...上記のアサートを次のようにします。
それで、上記のフラットアウトは機能しませんか?では、ここでやりたいことをどのように達成できますか?
ocmockito - OCMockitoはプリミティブ型をキャプチャしますか?
OCMockito を使用してプリミティブ値で引数をキャプチャするにはどうすればよいですか?
MKTArgumentCaptor はオブジェクト タイプのみをキャプチャできるようですか? Xcodeは、「整数変換への互換性のないポインター」と言っています。
objective-c - プリミティブ型の OCMockito anything()
メソッド署名用
どの値に対しても insertValue が呼び出されないかどうかを確認しようとしています。
コンパイラは any() プリミティブ型に文句を言うので、どうすればこれをテストできますか?
objective-c - OCMock または OCMockito を使用して NSURLProtocol モックへのメソッド呼び出しを検証するにはどうすればよいですか?
GET リクエストを行うメソッドをテストしたいと思います。
これは不自然な例です:
このメソッドの実装の詳細 (モック、期待値の設定、依存関係の検証など) について心配するよりも、GET 要求が行われたかどうかをテストできるようにしたいと思います。
NSURLProtocolでこれを行うことができると信じていますが、これまでの試みは成功していません。
たとえば、OCMock を使用すると、次のようになります。
canInitWithRequest が呼び出されないため、上記のテストは失敗します。
NSURLProtocol に期待値を設定して、リクエストが行われたことを確認するにはどうすればよいですか?
ios - OCMockito での参照渡しによるメソッドのスタブ中の例外
OCMockito を使用してNSJSONSerialization
メソッドをスタブしようとしています。私は解決策があると思っていましたが、この例外が発生することが判明しました:
*** -[__NSArrayM objectAtIndex:]: 範囲 [0 .. 1] を超えるインデックス 2
これが私がやっていたことです:
問題はエラー引数にあると推測しています。これは、参照によって渡されることを意図しており、以前にそのようなものをスタブしようとしたとは思わないからです。これを機能させる方法を知っている人はいますか?
ここでの目標は、+[NSJSONSeralization JSONObjectWithData:option:error]
メソッドがテストから呼び出されたときに常にモック NSDictionary を返すようにすることです。
objective-c - OCMockito を使用して読み取り専用プロパティの動作を確認するにはどうすればよいですか?
私はReactiveCocoaでMVVMを使用しており、テストにはOCMockitoを使用しています。ViewController A と ViewController B があるとします。A は B へのセグエを実行する必要があります。これが発生したときに、A が最初に代入を介して必要なデータ (「モデル」) を B に渡すことを確認したいと思います。
B
次のようになります。
View Controller のどこかにA
、次のステートメントがあります。
この割り当てが行われていることを確認したいのですが、viewModel
プロパティは読み取り専用です。viewModel は、viewController の init メソッドによって初期化されます。
ここでviewModelをモックアウトするにはどうすればよいですか?
viewControllerB を部分的にモックして mock を返すこともできますviewModel
。これを確認しますが、https://github.com/jonreid/OCMockito/issues/38では、部分的なモックは削除されたと言われています。どうして?!
ios - OCMockito を使用して、セレクターがメソッドに渡されたことを確認する方法
viewDidLoad 中に UIApplicationDidBecomeActiveNotification のオブザーバーとして自身を追加するビュー コントローラーがあります。これが発生することを確認したいのですが、ビューコントローラーがイベントに登録する特定のセレクターをテストで気にしたくありません。
現在、私のテストは次のようになっています。
...しかし、セレクタに「anything()」を渡すと、コンパイラ エラーが発生します。「ARC では、Objective-C ポインタから 'SEL' への暗黙的な変換は許可されていません」。
何かの代わりに「@selector(applicationDidBecomeActive:)」を渡すと、テストを機能させることができます。これは、View Controller が使用する正確なセレクターです。しかし、可能であれば、テストが特定の実装についてそれほど多くの知識を持っていないことを望みます。