Comme spécifié dans la C# language specifications (page 375):
L'ordre dans lequel les attributs sont spécifiés (...) n'est pas significatif. Par exemple, les spécifications d'attribut [A] [B], [B] [A], [A, B] et [B, A] sont équivalentes.
Par conséquent, vous ne pouvez jamais compter sur l'ordre dans lequel les attributs sont définis. Heureusement, Gallio/MbUnit fournit un paramètre facultatif pratique à la plupart de ses attributs qui surmonte cette limitation de la langue. Vous devez utiliser le paramètre facultatif Order.
[Row("a", Order = 1)]
[Row("b", Order = 2)]
[Row("c", Order = 3)]
[Test]
public void Test(string s)
{
}
Veuillez noter que Order
fonctionne également sur d'autres attributs. En particulier, il peut être utilisé sur [Test]
pour spécifier l'ordre dans lequel les tests doivent s'exécuter dans l'appareil.
Sinon, pour lier un paramètre de test unique comme indiqué dans votre exemple, vous trouverez peut-être plus facile à utiliser [Column]
au lieu de [Row]
; et se débarrasser de tout attribut de commande contrainte en remplaçant 3 attributs par seulement 1:
[Test]
[Column("a", "b", "c")]
public void Test(string s)
{
}
Il serait considéré comme agréable pour entourer l'extrait de code par une explication. – zx485