MSTest卸载dll后清理?

时间:2013-06-24 13:27:14

标签: c# unit-testing mstest

我正在编写一个封装我无法访问的dll的包装器的UnitTests。

此dll会将文件写入给定位置,并在dll的整个生命周期内保留句柄。

我的UnitTests运行后,我想删除测试期间dll写的所有文件。

但是,如果我使用MSTest属性[TestCleanup] [ClassCleanup][AssemblyCleanup],我无法删除所有文件,因为dll仍然已加载且文件上的句柄仍然存在存在。

有没有办法在MSTest卸载testet dll后运行最后一个方法?

现在,我只看到两种可能的解决方案,但这些解决方案听起来都不具吸引力:

  • 仅创建一个包装器以运行在appDomain中封装testet Wrapper的测试 我可以在AssemblyCleanup上卸载(很多工作)
  • 让单元测试保存写入文件的路径并删除下一个Testrun上的那些文件(这仍然会让我感到垃圾,但至少这些垃圾不会干扰下一次运行)

0 个答案:

没有答案