Test coverage and integration

2019-11-05 12:05:00 +0000

Vi fortsätter fylla i hålen i våran testtäckning och lägger till ett litet fnuttigt integrationstest för att testa hela vägen in på modermodemet - själva hjärtat i hårddisken.

Lärdomar

  • Resharper kraschar fortfarande Visual studio när jag döper om klasser för vilt.
  • Jag har inte lärt mig av tidigare misstag.
  • Det är bra[tm] att ha samma mock i SUT:en som man assertar mot.

Test coverage

Test coverage

Integrationstest

[Fact]
public async Task WHEN_data_file_exists_THEN_it_is_read_and_parsed_by_some_CsvRowParser()
{
    var testdataRealFilename = $"{Environment.CurrentDirectory}\\testdata-deleteme-{Guid.NewGuid().csv";

    var theFileContents = GetSomeFileContents();

    File.WriteAllText(testdataRealFilename, theFileContents);

    try
    {
        var csvRowParser = _fixture.Freeze<ICsvRowParser>();
        var SUT = new AsyncFileParser(csvRowParser, new FileRetriever());

        await SUT.ParseFiles(Environment.CurrentDirectory);

        theFileContents.Split(Environment.NewLine)
            .Select(r => csvRowParser.Received(1).ParseRow(r)).ToArray();
    }
    finally
    {
        File.Delete(testdataRealFilename);
    }
}

Nästa vecka

kommer vi förhoppningsvis äntligen fram till Clean Architecture och kan förhoppningsvis lämna den här kodsnutten åt sitt öde.

GitHub: https://github.com/skarlman/Lunchmed.Net-CSV-parser


Missa inte nästa stream, varje tisdag 12:05 på twitch
Se tidigare avsnitt på YouTube

RSS