单元测试以验证WinForms应用程序不会多次加载程序集

lys*_*cid 0 c# nunit unit-testing winforms

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

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

我似乎无法得到这个逻辑......测试总是通过.

可以这样做吗?

Han*_*ant 8

很难让你的单元测试失败.CLR已确保程序集仅加载一次.非常重要的是,多次加载相同的程序集会导致很难在运行时诊断出错误.

你必须使用可怕的Assembly.LoadFile()来触发失败.避免测试你不应该开始做的事情.