Ho un test di unità chiamato TestMakeAValidCall()
. Mette alla prova la mia app del telefono facendo una chiamata valida.Test unità - È una cattiva condizione che il test dell'unità venga chiamato per altri test di unità
Sto per scrivere un altro test chiamato TestShowCallMessage()
che deve avere una chiamata valida per il test. È una cattiva forma chiamare semplicemente TestMakeAValidCall()
in quel test?
Per riferimento questo è il mio test TestMakeAValidCall()
.
[TestMethod]
public void TestMakeAValidCall()
{
//Arrange
phone.InCall = false;
phone.CurrentNumber = "";
// Stub the call to the database
data.Expect(x => x.GetWhiteListData()).
Return(FillTestObjects.GetSingleEntryWhiteList());
// Get some bogus data
string phoneNumber = FillTestObjects.GetSingleEntryWhiteList().
First().PhoneNumber;
// Stub th call to MakeCall() so that it looks as if a call was made.
phone.Expect(x => x.MakeCall(phoneNumber)).
WhenCalled(invocation =>
{
phone.CurrentNumber = phoneNumber;
phone.InCall = true;
});
//Act
// Select the phone number
deviceControlForm.SelectedNumber = phoneNumber;
// Press the call button to make a call.
deviceMediator.CallButtonPressed();
//Assert
Assert.IsTrue(phone.InCall);
Assert.IsTrue(phone.CurrentNumber == phoneNumber);
}
Grazie per tutte le grandi risposte. Ho rifattorizzato il codice duplicato in una chiamata separata. Ho scelto la risposta con il maggior numero di voti. – Vaccano