2

構造体のアドレスを渡している、テストしたいコードがいくつかあります。

MyObject myObject = ...;
MyRecord record = [someObject record];  //record is a @property
[myObject add:&record];

私はsomeObjectレコードを返すために嘲笑しました:

MyRecord record = ...;
[[[_mockSomeObject stub] andReturnValue:OCMOCK_VALUE(record)] record];
[[_mockMyObject expect] add:&record];

残念ながら、NSValue ラッパーから構造体を引き出すと常に別のアドレスが返されるため、OCMock は失敗します (私は信じています)。

パラメーターの 1 つが構造体のアドレスである場合、正しく動作することを期待する方法はありますか?

4

1 に答える 1

3

OCMockで構造体を返す方法については、この投稿をご覧ください。OCMOCK_VALUEマクロはそれをカットしないようです。

于 2011-10-05T20:02:13.713 に答える