questo blog article dice che:Perché il mocking con DI è migliore di quello degli oggetti di simulazione in ogg-c?
Mentre ci sono modi a volte ragionevoli per deridere fuori oggetti senza DI (tipicamente deridendo i metodi di classe, come si è visto in precedenza l'esempio OCMock ), è spesso flat out non è possibile . Anche quando è possibile, la complessità della configurazione di test potrebbe superare i benefici. Se stai utilizzando l'iniezione delle dipendenze in modo coerente, troverai la scrittura dei test usando stub e le presentazioni saranno molto più semplici.
ma non spiega perché. Cosa sono possibili scenari dove DI (iniettando un oggetto id
conforme al protocollo) servirà meglio scherno in Objective-C, di semplice OCMockito:
[given([mockArray objectAtIndex:0]) willReturn:@"first"];
[verifyCount(mockArray, times(1)) objectAtIndex:];
?
Grazie :) Quindi penso che si adatti al mio statemenet "È meglio solo se hai bisogno di un comportamento super custom." –