首页 > 解决方案 > 无法从单元测试程序集中访问静态变量

问题描述

我有一个单元测试,我正在测试 Automapper。

var response = mapper.Map<Item>(response);

我的问题出在我的 Mapping Profile 类中,我使用静态辅助函数进行映射。

        .ForMember(destination => destination.Symbol, opts => opts.MapFrom(source => SymbolHelper.GetSymbolPairById(Convert.ToInt32(source.pair))))

这个函数看起来像一个静态变量,它是一个保存符号列表的 Dictionary<T1,T2>。

private static IDictionary<string, int> currencyPairs;

SymbolHelper.GetSymbolPairById()查找这本字典时,这本字典是NULL,因此我得到一个 NULL 引用异常。

我猜这是 NULL,因为我从与实际应用程序不同的程序集运行,因此这些变量尚未初始化。

那么如何从单元测试中初始化它呢?

谢谢

标签: c#unit-testing.net-coreautomapper

解决方案


推荐阅读