I’m generating a CSV which contains several rows and columns.
However, when I’m testing said CSV I feel like I am simply repeating the code that builds the file in the test as I’m checking each and every field is correct.
Question is, is this more sensible than it seems to me, or is there a better way?
A far simpler test is to just import the CSV into a spreadsheet or database and verify the data output is aligned to the proper fields. No extra columns or extra rows, data selected from the imported recordset is a perfect INTERSECT with the recordset from which the CSV was generated, etc.
More importantly, I recommend making sure your test data includes common CSV fail scenarios such as:
…to make sure your code is handling them properly.