FitSharp 中的 MemberMissingException

MemberMissingException in FitSharp

DoFixture 中使用 SUT 探索其行为时,第一次调用夹具方法成功,但在调用 SUT 方法后失败:

public class ConfigurationCharacterization : fitlibrary.DoFixture
{
    ConfigurationDelegator cd = new ConfigurationDelegator();
    public ConfigurationCharacterization()
    {
        mySystemUnderTest = cd;
    }


    public int AmountOfConfigsLoaded()
    {
        return cd.GetAllConfigs().Count;
    }
}

//delegates calls to the static methods of Configuration
public class ConfigurationDelegator : Configuration
{
    public new void Clear()
    {
        Configuration.Clear();
    }

    public new Configuration GetSingletonByIdentifier(string ident)
    {
        return Configuration.GetSingletonByIdentifier(ident);
    }

    public new List<Configuration> GetAllConfigs()
    {
        return Configuration.GetAllConfigs();
    }
}

Runner.exefit.dll 和 fixture dll 都位于同一个文件夹中。

正如在 this github issue 上指出的那样,GetSingletonByIdentifier returns 一个 Configuration 对象被包裹在 DoFixture 中并处理 [=19= 的剩余部分]. Amount of Configs Loaded 的下一次调用然后尝试访问 class Configuration 的相应方法,这不存在,因此出现错误。