.NET NUnit 测试 - Assembly.GetEntryAssembly() 为 null

标签 .net unit-testing nunit

当使用 Assembly.GetEntryAssembly() 的类在单元测试中运行时,Assembly.GetEntryAssembly()null

在单元测试期间是否有一些选项如何定义Assembly.GetEntryAssembly()

最佳答案

实现

中给出的 SetEntryAssembly(Assembly assembly) 方法

http://frostwave.googlecode.com/svn-history/r75/trunk/F2DUnitTests/Code/AssemblyUtilities.cs

到您的单元测试项目。

         /// <summary>
        /// Use as first line in ad hoc tests (needed by XNA specifically)
        /// </summary>
        public static void SetEntryAssembly()
        {
            SetEntryAssembly(Assembly.GetCallingAssembly());
        }

        /// <summary>
        /// Allows setting the Entry Assembly when needed. 
        /// Use AssemblyUtilities.SetEntryAssembly() as first line in XNA ad hoc tests
        /// </summary>
        /// <param name="assembly">Assembly to set as entry assembly</param>
        public static void SetEntryAssembly(Assembly assembly)
        {
            AppDomainManager manager = new AppDomainManager();
            FieldInfo entryAssemblyfield = manager.GetType().GetField("m_entryAssembly", BindingFlags.Instance | BindingFlags.NonPublic);
            entryAssemblyfield.SetValue(manager, assembly);

            AppDomain domain = AppDomain.CurrentDomain;
            FieldInfo domainManagerField = domain.GetType().GetField("_domainManager", BindingFlags.Instance | BindingFlags.NonPublic);
            domainManagerField.SetValue(domain, manager);
        }

关于.NET NUnit 测试 - Assembly.GetEntryAssembly() 为 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4337201/

相关文章:

unit-testing - 单元测试 - 使用真实值还是模拟?

.net - 如何处理一批任务中的部分成功?

c# - 如何在 JSON 响应 ASP.NET Core 中关闭或处理 camelCasing?

安卓命令行测试

unit-testing - Ada 有什么好的单元测试框架吗?

sql - 数据访问层的单元测试 - 测试更新方法?

c# - 从一个表中读取一个字段,然后使用该字段信息查询并从另一个字段中获取信息需要很长时间

c# - 为什么 C# 没有轻量级异常?

python - 使用模拟对象简化 Django 测试设置

c# - 格式十进制扩展的 NUnit 测试中的实际值和预期值不相同