Ich habe nicht genug damit gespielt und benutze normalerweise Mocks, aber ich frage mich, was die Unterschiede zwischen diesen beiden sind und wann ich den einen oder anderen bei Rhino Mocks verwenden soll.
Aktualisieren:
Die Antwort auf meine Frage fand ich auch in Ayendes Worten :
Der Unterschied zwischen Stubs und Mocks
Die tatsächliche Definition dieser Begriffe finden Sie in diesem Artikel: Mocks sind keine Stubs . Ich möchte mich auf den Unterschied aus der Sicht von Rhino Mocks konzentrieren.
Ein Mock ist ein Objekt, an das wir Erwartungen setzen können und das überprüft, ob die erwarteten Aktionen tatsächlich stattgefunden haben. Ein Stub ist ein Objekt, das Sie verwenden, um an den zu testenden Code zu übergeben. Sie können Erwartungen daran festlegen, damit es auf bestimmte Weise funktioniert, aber diese Erwartungen werden niemals überprüft. Die Eigenschaften eines Stubs verhalten sich automatisch wie normale Eigenschaften, und Sie können keine Erwartungen an sie setzen.
Wenn Sie das Verhalten des zu testenden Codes überprüfen möchten, verwenden Sie ein Modell mit der entsprechenden Erwartung und überprüfen dies. Wenn Sie nur einen Wert übergeben möchten, der möglicherweise auf eine bestimmte Weise funktionieren muss, aber nicht im Mittelpunkt dieses Tests steht, verwenden Sie einen Stub.
WICHTIG: Ein Stub führt niemals dazu, dass ein Test fehlschlägt.