Ich erzeuge Inhalt für eine Textdatei und versuche, die Ausgabe mit einer SpecFlow-Tabelle zu testen. Meine Then
Anweisung sieht wie folgt aus:Wie konvertiert man SpecFlow-Tabelle in ein Array von Strings
Then the content should be
| Line |
| This is Line 1 |
| This is Line 2 |
| etc... |
ich dies in ein Array von Zeichenfolgen in der Step-Datei wie folgt drehe:
[Then(@"the content should be")]
public void ThenTheContentShouldBe(Table table)
{
string[] expectedLines = table.Rows.Select(x => x.Values.FirstOrDefault()).ToArray();
...
}
Das gibt mir ein Array von Strings mit 3 Elementen, Ignorieren der ersten "Zeile" als Tabellenkopf. Aber es fühlt sich ein bisschen peinlich an. Gibt es eine bessere Möglichkeit, dies in ein Array von string
zu verwandeln? Bonuspunkte, wenn es auch in Arrays unveränderliche Typen wie int
umwandeln usw.
, was mit ihm los? –
Hauptsächlich, wenn ich eine Klasse 'Foo' mit einer einzigen' String'-Eigenschaft namens 'Line' hätte, könnte ich einfach' table.CreateSet(); '. Ich hoffe, ich habe auf eine clevere Methode gehofft, die Erweiterungsmethode 'CreateSet' zu verwenden. –
djs
nicht 'table.CreateSet() .Wählen (f => f.Line). ToArray()' Arbeit? –