我想知道是否有人知道自动将常见故障注入运行中的.NET程序的工具或技术。像..。
因此,我真的在寻找一种方法来拦截CLR中的一些特定调用,类似于AppVerifier对本地Win32代码所做的操作。其目的是在开发人员无法控制的大量错误条件下测试应用程序,并确保这些条件得到处理。
发布于 2010-02-11 01:08:02
有一个名为TestAPI的codeplex项目可以执行运行时错误注入。您需要查看它的托管代码错误注入API。它使用CLR剖析API在运行时拦截方法调用并修改它们的行为。
查看一个例子,了解如何在已编译的exe中的方法调用中注入异常。
发布于 2010-02-11 01:04:45
悬挂式隔离器似乎是你最好的选择。
如果您想抛出一个FileNotFoundException
来模拟测试,那么您可以这样做。
在您的生产代码中,您有这样的方法
public static Project OpenProject(string filePath)
在您的测试代码中,您可以像这样伪造OpenProject
调用
Isolate.WhenCalled(()=>Project.OpenProject(nulll)).WillThrow(new FileNotFoundException());
当您的代码命中OpenProject
时,将抛出一个FileNotFoundException
。
发布于 2010-02-11 04:14:10
这与您的要求并不完全一致,但它是相关的,并且可能有助于实现在应用程序中改进异常处理的相同目标。
红门异常猎人亨特/索引
我没有使用这个特定的产品,但是我使用过的其他redgate产品都很棒。
https://stackoverflow.com/questions/2241486
复制相似问题