【发布时间】:2012-08-13 09:06:57
【问题描述】:
使用 Visual Studio 2012 生成带有“Add Fakes Assembly”的存根,一切都按预期工作,除了无法为此接口生成存根:
public interface IFileWrapper
{
IEnumerable<string> ReadLines(string path);
bool Exists(string path);
Stream OpenReadStream(string path);
}
当我将 Stream 更改为 FileStream 时(因为 Stream 是一个抽象类,我想检查这是否只发生在抽象类中),我仍然无法生成。
当我完全删除方法签名(即删除Stream OpenReadStream(string path);)时,我能够生成存根。
这是我的 .fake 文件内容:
<Fakes xmlns="http://schemas.microsoft.com/fakes/2011/" Diagnostic="true" Verbosity="Noisy">
<Assembly Name="System.IO.Abstractions"/>
<StubGeneration>
<Clear />
<Add AbstractClasses="true"/>
<Add Interfaces="true"/>
</StubGeneration>
<ShimGeneration>
<Clear />
</ShimGeneration>
</Fakes>
- 知道为什么会发生这种情况,我该如何避免?
- 应该有一个 Visual Studio 输出面板,其中将显示 Fake 生成结果。我看不到任何东西,它们也没有显示在常规构建面板中。我可以在哪里找到它的任何想法?我搜索了所有 VS 2012 菜单。
【问题讨论】:
-
我能够使用 VS 2012 RC 版本 11.0.50626.1 为 OpenReadStream 方法生成存根。
-
生成结果查看这篇帖子:stackoverflow.com/questions/13051775/…
标签: visual-studio-2012 moles stub stubbing microsoft-fakes