J'ai créé un générateur de données afin de créer des données de test dans mes tests unitaires. Mes générateurs de données créent des valeurs par défaut pour toutes les propriétés, de sorte que les tests qui les utilisent doivent uniquement spécifier les propriétés applicables au test.Un générateur de données de test doit-il être configuré par défaut pour ses primitives non-primitives?
Tenir compte du constructeur suivant:
public class CustomerBuilder
{
public int id = 0;
public Order order = new OrderBuilder().Build();
public CustomerBuilder WithId(int id)
{
this.id = id;
return this;
}
public CustomerBuilder WithOrder(Order order)
{
this.order = order;
return this;
}
public Customer Build()
{
return new Customer(id, order);
}
}
En faisant cela, si je dois créer un client dans un test dans lequel l'identifiant est important pour moi, mais l'ordre est hors de propos que je peux créer l'objet comme suit :
Customer c = new CustomerBuilder()
.WithId(99)
.Build();
Est-ce une bonne idée? Ou y a-t-il une raison pour laquelle il ne serait pas préférable de supposer que la propriété non primitive doit être construite?