Ho creato un piccolo progetto C # per aiutarmi a imparare come scrivere buoni test unitari. So che una delle regole più importanti per il test delle unità è quella di testare la più piccola 'unità' di codice possibile in modo che se fallisce si sa esattamente quale parte del codice deve essere riparata. Ho bisogno di aiuto con quanto segue prima di continuare ad implementare più unit test per il progetto:
Se ho una classe Car
, ad esempio, che crea un nuovo oggetto Car
che ha vari attributi che vengono calcolati quando viene chiamato il suo metodo di costruzione, i due test seguenti verranno considerati come overkill? Dovrebbe esserci un test che verifica tutti gli attributi calcolati dell'oggetto Car
invece?
[Test]
public void CarEngineCalculatedValue()
{
BusinessObjects.Car car= new BusinessObjects.Car();
Assert.GreaterOrEqual(car.Engine, 1);
}
[Test]
public void CarNameCalculatedValue()
{
BusinessObjects.Car car= new BusinessObjects.Car();
Assert.IsNotNull(car.Name);
}
Devo avere i due metodi di test sopra descritti per testare queste cose o dovrei avere un metodo di test che asserisce che l'oggetto Car è stato creato per la prima volta e poi testare queste cose nello stesso metodo di test?