Le classi, che modificano lo stato della classe genitore, ma non se stessa, devono essere testate separatamente? E separatamente, intendo mettere il test nella classe di test unitaria corrispondente, che testa quella specifica classe.
Sto sviluppando una libreria basata su metodi concatenati, che restituiscono una nuova istanza di un nuovo tipo nella maggior parte dei casi, dove viene chiamato un metodo concatenato. Le istanze restituite modificano solo lo stato padre principale, ma non se stesso.
Esempio eccessivamente semplificato, per ottenere il punto:
public class BoxedRabbits
{
private readonly Box _box;
public BoxedRabbits(Box box)
{
_box = box;
}
public void SetCount(int count)
{
_box.Items += count;
}
}
public class Box
{
public int Items { get; set; }
public BoxedRabbits AddRabbits()
{
return new BoxedRabbits(this);
}
}
var box = new Box();
box.AddRabbits().SetCount(14);
Di ', se scrivo un test unitario sotto i test di unità di classe Box
:
box.AddRabbits().SetCount(14)
Potrei dire in modo efficace che ho già testato anche la classe BoxedRabbits
. È questo il modo sbagliato di approcciare questo, anche se è molto più semplice scrivere prima un test per la chiamata precedente, quindi scrivere prima un test unitario per BoxedRabbits
separatamente?