.net - 动态创建 csv 文件作为 StreamReader

标签 .net unit-testing streamreader

我想对以下方法进行单元测试

public IEnumerable<T> GetData<T>(StreamReader fileStream) where T : new()

流读取器需要是 CSV 格式的文件,并具有特定的列名称。

是否可以在代码中创建此类文件,而不必在每个单元测试的文件系统上都包含大量此类文件?

有什么想法吗?

更新:

刚刚意识到我正在使用 Linq2Csv 的库,具有执行此操作的方法

http://www.codeproject.com/KB/linq/LINQtoCSV.aspx

最佳答案

当然:

var buffer = Encoding.Default.GetBytes("ab;cd;ef");
using (var stream = new MemoryStream(buffer))
using (var reader = new StreamReader(stream))
{
    var actual = GetData<SomeClass>(reader);
    // TODO: assert on actual
}

关于.net - 动态创建 csv 文件作为 StreamReader,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2206633/

相关文章:

c# - 没有选项卡的 WPF TabPanel?

c# - 使用 JQuery Validate() 问题验证 .NET 2.0 表单

c# - SSRS URL 访问时出现 401 Unauthorized Error ... 但它在 Fiddler 中有效吗?

.net - 使用 powershell 在 hyper-v(给定的 VMname)上获取 VM 的主机名

PHPUnit 实时登录失败/错误

C# StreamReader, "ReadLine"用于自定义分隔符

java - Junit测试调用Dao类的Business类

c# - 流利的断言 : Approximately compare a classes properties

C# 将字节数组转换为字符串,使用序言或默认编码

c# - StreamReader.Read 返回\0