Vaut-il mieux spécifier tous les paramètres d'une donnée dans une ligne, ou chaque paramètre sur une ligne séparée? c'est-à-dire quel est le meilleur?Est-il préférable de spécifier tous les paramètres d'un donné dans une ligne, ou chaque paramètre sur une ligne séparée?
séparé Et pour chaque paramètre
Scenario: some random scenario
Given a menu with a menu width of 19
And quit text of "quit"
And Fruit options of
|Text|
|some text|
When ...
Then ...
ou tous les paremters pour la spécifique donnée sur une ligne
Scenario: Some scenario
Given a menu with quit text of "quit" and menu width of 19 and Fruit options of
|Text|
|Some text|
When ...
Then ...
Cela semble (et j'espère que je me trompe) à avoir les implications suivantes pour la façon dont vous écrivez vos liaisons, ainsi que commence à influencer la façon dont vous écrivez votre classe, ce qui ne devrait pas! à-dire première option (séparée et pour chaque paramètre) la liaison est plus facile d'écrire si votre classe a des propriétés publiques qui sont définies une par une après l'objet est créé ...
private Menu _menu;
[Given(@"a menu of fruit options")]
public void GivenAMenuOfFruitOptions(Table table)
{
string[] fruitOptions = table.GetColumn("Fruit");
_menu = new Menu(fruitOptions,null);
}
[Given(@"a menu width of (.*)")]
public void GivenAMenuWidthOf(string width)
{
_menu.Width = int.Parse(width);
}
[Given(@"a Quite text of ""(.*)""")]
public void GivenAMenuWidthOf(string quitText)
{
_menu.QuitText = quitText;
}
alors que la deuxième (sur un seul line) il est plus facile d'avoir un objet avec un constructeur qui prend tous les paramètres comme arguments constructeur.
private Menu _menu;
[Given(@"a menu with quit text of ""(.*)"" and menu width of (\d+) and Fruit options of ")]
public void GivenAMenuOfFruitOptions(string quitText, int width, Table table)
{
string[] fruitOptions = table.GetColumn("Fruit");
_menu = new Menu(fruitOptions,width, quitText);
}
Je me sens comme si je me manque quelque chose, parce que la mise en œuvre de specflow ne devrait pas influencer le code que je vous écris, et je suis inquiet que # 1 ci-dessus va encourager les objets trop stateful. Je suis un toxicomane apatride fonctionnel.
Les pointeurs vous seront très utiles.
TXS à l'avance,
acclamations, Alan
Bonjour, vous pouvez poser votre question au groupe de discussion SpecFlow (http://groups.google.com/group/specflow/), surtout s'il s'agit de modèles et de bonnes pratiques, comme celui-ci. –