使用Microsoft Fakes我收到编译错误

时间:2014-10-07 17:05:24

标签: c# unit-testing microsoft-fakes

我正在尝试使用Microsoft Fakes来填充Directory.CreateDirectory(path)来电。

当我使用下面的代码时,它给我一个编译错误说:

  

属性或索引器   ' System.IO.Fakes.ShimDirectory.CreateDirectoryString'不能使用   在这种情况下,因为它缺少get访问器

以下是我尝试运行的代码导致编译问题:

    _path = @"\\" + TestConfig.Instance.FileShareHost + @"\SharingIsGood";
    using (ShimsContext.Create())
    {
        ShimDirectory.CreateDirectoryString(_path);

        // Directory.CreateDirectory(_path);
        _fatalException = MockRepository.GenerateMock<IHandleFatalExceptions>();
        _filter = "*.txt";
        _fileReader = new FileHandler();
    }

如果删除ShimDirectory.CreateDirectoryString(_path);行,则编译正常。所以这条线的东西很奇怪。我是微软Fakes的新手。

提前致谢。

1 个答案:

答案 0 :(得分:0)

如果您尝试为ShimDirectory.CreateDirectoryString创建假邮件,则代码应如下所示:

using (ShimsContext.Create())
{
    ShimDirectory.CreateDirectoryString = path =>
    {
      // Your fake code here
    }

    _path = @"\\" + TestConfig.Instance.FileShareHost + @"\SharingIsGood";
    Directory.CreateDirectory(_path);
}