So setzen Sie eine Eigenschaft in einem mock in C# und Rhinomocks?

Ich habe Probleme beim einstellen den Wert einer Immobilie in Rhinomocks. Ich brauche, um den anfänglichen Wert der Immobilie außerhalb der Methode im test und setzen Sie den Wert anschließend innerhalb der Methode unter test bedingt. Einige code:

public interface IResponse
{
    string ResponseText { get; set; }
}

public void ProcessResponse(IResponse response)
{
    if(response.ResponseText == "Unset")
    {
        response.ResponseText = someService.GetResponse();//someService here is irrelvant to the question
    }
}

[TestMethod]
public void ResponseValueIsSetWhenConditionIsTrueTest()
{
    var mock = Mock<IResponse>.GenerateMock();
    mock.Stub(x => x.ResponseText).Returns("Unset");

    Processor.ProcessResponse(mock);

    Assert.AreEqual("Responseval", mock.ResponseText); //Fails because the method doesn't set the value of the property.
}

Brauche ich die mock-Eigenschaft einen ersten Wert geht in die Act-Teil der Prüfung, und lassen Sie die zu testende Methode, um diesen Wert ändern, so kann ich behaupten, auf es später. Allerdings mock.ResponseText immer auf "Unset", und die Methode deren Wert nie ändert - was ist hier Los?

InformationsquelleAutor MalcomTucker | 2011-06-04
Schreibe einen Kommentar