我正在尝试对已附加到 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/