我似乎遇到了一个问题,我们正在使用的应用程序使用 Ninject 内核,并包含一个特定配置,该配置与 WCF 调用的内容(用户名、 token ...)一起收集。
基于特定配置,用户被分配了对应用程序的权限,这通过 Ninject 内核中的特定实例被屏蔽。
我们不能只重构 Ninject 内核,我们想要做的是运行几个 Nunit 测试,但在单独的应用程序域中运行它们中的每一个(每次都使用不同的设置重新创建内核)。
我只找到了在不同的应用程序域中运行整个测试项目的方法,而不是针对每个测试进行测试。
有办法解决吗?
不幸的是,Ninject 配置不在我们身边,我们必须以这种方式“忍受”它。
最佳答案
我需要做完全相同的事情,所以我创建了一个库,它基本上接受当前测试并在新的 AppDomain 中重新执行它。这是一个名为 NUnit.ApplicationDomain 的 nuget 包并且是 open source .
示例代码:
[Test, RunInApplicationDomain]
public void Method()
{
Console.WriteLine("I'm in a different AppDomain")
}
关于c# - 使用 NUnit 在不同的应用程序域中运行单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9634438/