私がテストしているクラスには2つのメソッドがあります:
- (NSUInteger)sendBuffer:(uint8_t *)buffer length:(NSUInteger)length;
- (BOOL)sendFormattedCommandForAddress:(uint8_t)address
withData:(uint8_t)data
andCommandType:(ZKZSensorCommandType)commandType;
-sendFormattedCommandForAddress:withData:andCommandType:
配列を作成し、char
この配列へのポインタを に渡します-sendBuffer:length:
。この配列の内容は、、、address
およびdata
によって異なりますcommandType
。私のテストでは、正しい配列が作成されて に渡されることを確認したいと思います-sendBuffer:length:
。uint8_t *
OCMock では、引数に期待値を設定できません。OCMockito/OCHamcrest では、(まだ) 部分モックを使用できません。-sendBuffer:length:
テスト ケース クラスのメソッドを呼び出すメソッドと、そのメソッド呼び出しに期待値を設定するメソッドを入れ替えてみました。ただし、swizzled メソッドが呼び出されると、self
私のテストケースではなく、テスト中のクラスを指しています。テスト対象のクラスでバッファーを保持し、テストでこのバッファーの内容を確認することはできますが、テストをサポートするためだけに実稼働コードに何かを追加するのは嫌いです。この動作をテストする方法について、より良い提案はありますか?