编写csv文件时测试错误处理

时间:2013-11-19 15:12:28

标签: c# filehelpers

我想设置ErrorMode = ErrorMode.SaveAndContinue,以便在写入CSV文件后处理错误。

如何在调用WriteStream()时人为地生成行级错误,以便我可以测试我的错误处理?

特别是我想知道如果行错误,是否会触发AfterWriteRecord事件。

1 个答案:

答案 0 :(得分:1)

查看源代码有几种方法:

您使用WriteStream()致电IEnumerable<T>,其中T是您的FileHelpers记录类。因此,在您的测试中,创建一个List<T>,但作为其中一个记录添加null。这会导致WriteStream()提出BadUsageException

或者,您可以添加一个OnProgress事件,在该事件中抛出异常。

您还可以从BeforeWriteEventAfterWriteEvent中抛出异常。

您可以附加custom field converter,在FieldToString()覆盖中引发异常。

上述任何异常都将被SaveAndContinue选项所困。