Ich verwende CsvHelper http://csvhelper.com Version 2.16.3. Ich möchte eine CSV-Datei analysieren, die alle zusätzlichen Leerzeichen in jeder Zelle zuschneidet.C# CsvHelper trimmen nicht die Leerzeichen in den Feldern
dies ist meine fehlerhafte Einheit Test
[Fact]
public void GetNextBatch_should_trim_every_cell()
{
var csvService = new CsvService();
var stream = new MemoryStream();
var streamWriter = new StreamWriter(stream);
streamWriter.WriteLine(" 123 , hello ");
streamWriter.Flush();
stream.Position = 0;
var csvParser = new CsvParser(new StreamReader(stream, true), new CsvConfiguration
{
IsHeaderCaseSensitive = false,
SkipEmptyRecords = true,
TrimFields = true,
TrimHeaders = true
});
var res = csvService.GetNextBatch(csvParser, 10);
Assert.Equal("123", res.First()[0]);
Assert.Equal("hello", res.First()[1]);
}
public IEnumerable<string[]> GetNextBatch(CsvParser csvParser, int batchSize)
{
var list = new List<string[]>();
while (list.Count < batchSize)
{
var rows = csvParser.Read();
if (rows == null)
break;
list.Add(rows);
}
return list;
}
Wenn ich den Test ausführen dies das Ergebnis
Assert.Equal ist() Ausfall ↓ (Pos 0) Erwartet: 123 Aktuell: 123
↑ (pos 0)
Was mache ich falsch? Danke
Id schlagen vor, auf ihnen zu veröffentlichen .. nicht wir. wie es klingt wie ein Fehler in ihrem Code – BugFinder
Danke, das habe ich schon getan –