gpt4 book ai didi

c# - 模拟具体的 FileInfo 对象

转载 作者:太空宇宙 更新时间:2023-11-03 11:23:35 24 4
gpt4 key购买 nike

我想模拟 System.IO.FileInfo.Extension 方法并让它返回“.xls”,但我什么也做不了

This Example适用于删除但不适用于扩展(代码将无法编译)

  [ClassInitialize]
public static void Initialize(TestContext context)
{
Mock.Partial<FileInfo>().For((x) => x.Extension);
}

我也尝试过使用这个 example但是代码是错误的。

  • 我有 JustMock 的完全许可副本
  • 我正在使用 VS 2010 .net 4.0

编辑:我知道我可以设置一个接口(interface)并以这种方式进行测试,但付费版本 JustMock 应该模拟具体类。既然我付了钱,我想知道怎么做。

最佳答案

使用最新版本的 JustMock(2012 年第 2 季度)。您不再需要 MockClassAtriibute 来模拟 MsCrolib 成员。

您可以通过以下方式编写上述测试:

[TestClass]
public class UnitTest1
{
[ClassInitialize]
public static void Init(TestContext context)
{
Mock.Replace<FileInfo, string>(x=> x.Extension).In<UnitTest1>();
}


[TestMethod]
public void ShouldAssertFileInfoExtension()
{
var fileInfo = Mock.Create<FileInfo>(Constructor.Mocked);

string expected = "test";

Mock.Arrange(() => fileInfo.Extension).Returns(expected);

Assert.AreEqual(fileInfo.Extension, expected);
}
}

关于c# - 模拟具体的 FileInfo 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10177363/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com