c# - 单元测试 FileSystemWatcher.Error 事件

标签 c# .net unit-testing filesystemwatcher

我正在尝试对已附加到 FileSystemWatcher 的错误事件的私有(private)方法进行单元测试。 MSDN 称此事件“在内部缓冲区溢出时发生”。我尝试过造成缓冲区溢出,但到目前为止还没有成功。 FileSystemWatcher 的各种属性是:

fileWatcher.IncludeSubdirectories = false;
fileWatcher.Filter = "*";
fileWatcher.NotifyFilter = (NotifyFilters.FileName | NotifyFilters.LastAccess | NotifyFilters.Size);

出于单元测试的目的引发此事件的最佳方式是什么?

最佳答案

我怀疑你是否能够可靠地导致缓冲区溢出。它将取决于系统和配置。 (它甚至可能取决于负载)。我建议您模拟 FileSystemWatcher 类并自己触发模拟事件来测试您的处理程序。

参见Wikipedia: Mock Object还有这个List of Mocking frameworks如果您对模拟的想法不熟悉,请了解更多详细信息。

关于c# - 单元测试 FileSystemWatcher.Error 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2546941/

相关文章:

c# - 如何将 TextBox 值传递给 MVC razor 中的 URL.Action?

.net - MS 团队应用程序 : There was a problem reaching this app

.NET GZipStream 压缩和解压

vba - 我可以更改私有(private)方法的可见性以便对它们进行单元测试吗

unit-testing - 重写单元测试可以吗?

web.config 中的 C# 命名空间

c# - MVC 4 编辑 Controller /查看多对多关系和复选框

JavaScript - 使用 Mocha 测试时出现 "res.json is not a function"错误

c# - EF : Potential runtime violation of table如何解决

c# - 为什么委托(delegate)中的 "this"指针为空?