在我的一些项目中,我注意到在 VSTS2008 下执行单元测试期间,其 VSTestHost 的内存消耗会增加。由于我的解决方案中有很多测试,它最终会导致 OutOfMemroyException。这对我来说看起来很奇怪,因为我确信 MSTest 会为每个单元测试创建一个新的 AppDomain。否则它将如何重置静态字段?但是,如果为每个测试创建 AppDomain,则内存不应泄漏。但确实如此。
所以问题是:VS 是否应该为每个测试类创建 AppDomain?如果是,那么我该如何检查它是否做到了。我尝试通过 ProcessExplorer 和 Performance 管理单元进行跟踪。“Total appdomain unloaded”的值在测试运行期间始终为 0。