c# - 我们可以对文件 I/O 操作进行单元测试吗

标签 c# visual-studio-2010 unit-testing file-io

我们可以使用VS2010对C#中的文件I/O操作进行单元测试吗?由于单元测试访问数据层的效率不高,我们是否需要进行单元测试操作或者是否有任何mock或fake操作来这样做

最佳答案

你能写一些看起来像单元测试的东西来验证文件 I/O 吗?绝对可以。

但你可能不应该。

您希望单元测试非常快并且具有尽可能少的外部依赖项。文件 IO 非常慢(相对而言),并且取决于文件系统的大量细节。

在单元测试中 - 您可能只关心代码是否成功调用 Write 操作或调用 .Close() 方法。您可以对该行为进行单元测试。

如果您确实想测试您的应用程序是否与文件系统正确交互 - 您的问题就变成了集成测试或端到端测试;但不是单元测试。

关于c# - 我们可以对文件 I/O 操作进行单元测试吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12726472/

相关文章:

c# - System.IO.File.Exists(fpath)在Chrome和Firefox中返回false

visual-studio-2010 - MSBUILD 4.0 在 AJAX 扩展上失败

c++ - qt Creator qt5.1 vs2010使用静态库时链接器错误

.net - 停止 .NET Firebird (2.6.5) 提供程序将所有 SQL 写入控制台

unit-testing - 专业的 R 开发人员应该拥有哪些核心包,为什么?

ruby-on-rails - 如何在测试中关闭 Rails SQL 日志记录?

c# - 我怎样才能将这个工厂类型的方法和数据库调用重构为可测试的?

c# - 在没有序列化的情况下深度复制数组c#

c# - 反序列化时标记为 [NonSerialized] 的字段会发生什么情况?

c# - Ninject:获取服务在我的业务层不起作用