单元测试以验证WinForms应用程序是否';t多次加载总成

本文关键字:加载 验证 WinForms 应用程序 是否 单元测试 | 更新日期: 2023-09-27 18:00:27

我正在尝试编写一个单元测试(NUnit),它将:

  1. 创建某个Form的实例
  2. 挂接AppDomain的相关AssemblyLoad事件以生成已加载程序集名称的列表
  3. 如果同一程序集加载两次,则失败
  4. 否则,通过

我似乎无法理解这其中的逻辑。。。考试总是及格的。

这能做到吗?

单元测试以验证WinForms应用程序是否';t多次加载总成

很难让单元测试失败。CLR已经确保程序集只加载一次。非常重要的是,多次加载同一个程序集会在运行时产生非常难以诊断的强制转换错误。

你必须使用可怕的集会。LoadFile()触发故障。避免测试一开始就不应该做的事情。

在AppDomain中加载程序集后,将无法再次加载,并且似乎没有程序集。卸载方法。从技术上讲,如果卸载所有加载程序集的AppDomains,就可以卸载该程序集。