Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Unit testing 使用ProcessModuleLoadException时单元测试dotnetnuke模块_Unit Testing_Tdd_Dotnetnuke - Fatal编程技术网

Unit testing 使用ProcessModuleLoadException时单元测试dotnetnuke模块

Unit testing 使用ProcessModuleLoadException时单元测试dotnetnuke模块,unit-testing,tdd,dotnetnuke,Unit Testing,Tdd,Dotnetnuke,我正在使用WebFormsMvp、NUnit、NSubstitue和FluentAssertions进行TDD,同时在DNN6.1中开发一个模块 正如许多与DNN相关的参考资料中所建议的那样,我希望将presenter代码包装在一个try/catch块中,该块调用DNN的ProcessModuleNodeException方法来记录错误,并向用户显示一条友好的错误消息 但是如果我这样做,我就无法在单元测试中测试特定的错误(例如,如果在没有特定querystring参数的情况下调用模块,我想测试是

我正在使用WebFormsMvp、NUnit、NSubstitue和FluentAssertions进行TDD,同时在DNN6.1中开发一个模块

正如许多与DNN相关的参考资料中所建议的那样,我希望将presenter代码包装在一个try/catch块中,该块调用DNN的ProcessModuleNodeException方法来记录错误,并向用户显示一条友好的错误消息

但是如果我这样做,我就无法在单元测试中测试特定的错误(例如,如果在没有特定querystring参数的情况下调用模块,我想测试是否抛出(自定义)“ExpectedQueryString ParameterNotPresent”错误),因为我测试的特定异常被包装测试代码的try/catch块吞没


有没有一种方法可以利用DNN的全局错误处理,并且仍然对特定的异常进行单元测试?

这在DNN中与您将进行单元测试的任何其他项目没有什么不同,ProcessModuleLoadException只是一个空区,它对抛出的错误进行一些内部日志记录和显示


如果没有代码示例,听起来像是在用Page_Load方法编写所有代码。将单个函数提取到它们自己的方法中,这些方法不处理它们自己的异常(或抛出自定义异常),并对这些异常进行单元测试。

这在DNN中与任何其他要进行单元测试的项目没有什么不同,ProcessModuleLoadException只是一个空白,它对抛出的错误进行一些内部日志记录和显示


如果没有代码示例,听起来像是在用Page_Load方法编写所有代码。将单个函数提取到它们自己的方法中,这些方法不处理它们自己的异常(或抛出自定义异常),并对这些异常进行单元测试。

请向我们展示您的代码请向我们展示您的代码