在 DNN 6.1 中开发模块时,我正在使用 WebFormsMvp、NUnit、NSubstitue 和 FluentAssertions 进行 TDD。
正如许多 DNN 相关资源中所建议的那样,我想将我的演示者代码包装在一个 try/catch 块中,该块调用 DNN 的 ProcessModuleLoadException 方法来记录错误并向用户显示友好的错误消息。
但是,如果我这样做,我将无法在单元测试中测试特定错误(例如,如果在没有某些查询字符串参数的情况下调用模块,我想测试是否会引发(自定义)“ExpectedQueryStringParameterNotPresent”错误),因为特定的我正在测试的异常被包装被测代码的 try/catch 块吞噬。
有没有办法利用 DNN 的全局错误处理,并且仍然对特定异常进行单元测试?