这是我的c#单元测试设计问题:C#单元测试设计问题:如何减少单元测试写入冗余?
我有一个测试,我想运行一些修改文件的代码。我的测试将运行修改文件的代码,然后检查结果。目前相当直截了当......
问题是,我有大约10个文件(很快会更多),我想运行相同的单元测试。我不想为每个文件写一个新的单元测试,当测试本身真的是一样的时候。
我可以编写一个测试来查询文件夹中的文件,然后在每个文件上运行测试逻辑,但是使用此方法只会报告整个文件集的一个通过/失败结果。
编号喜欢创建某种动态系统,其中我放置在特定文件夹中的每个文件都通过相同的单元测试运行。因此,如果文件夹中有25个文件,则测试运行25次,单元测试reults报告运行25个测试,并且包含每个测试的单独通过/失败。
任何想法如何或如果这可以在C#单元测试中完成?或者与一个nunit测试?
谢谢!我希望这不是一个重复的问题。我环顾四周,但找不到任何东西。
有些人会争辩说,涉及IO(在这种情况下操纵文件系统)的测试不是单元测试。另一种方法是将IO操作表示为可注入的依赖关系。然而,大多数的System.IO类型(当然还有静态)并不适用于此。我使用的一种方法是创建简单方法转发类型和相应接口的代理程序集。这允许您保留这个瘦代理层未经测试,并且您的逻辑层完全经过_unit_测试。微软莫尔斯有效地做到了这一点,但这仍然是一个在制品。 –