1

当在 a 中使用 SUTDoFixture来探索其行为时,对固定方法的第一次调用成功,但在调用 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都位于同一个文件夹中。

4

1 回答 1

0

正如已在此 github 问题上指出的那样,GetSingletonByIdentifier返回一个Configuration对象,该对象被包装在 DoFixture 中并处理表的其余部分。then的下一次调用Amount of Configs Loaded尝试访问该类的相应方法Configuration,这不存在,因此出现错误。

于 2016-01-18T13:04:48.750 回答