Visual Studio 测试
Visual Studio: 一系列 Microsoft 集成开发工具套件,用于生成适用于 Windows、Web 和移动设备的应用程序。测试: 应用测试作为分析或诊断手段的行为或过程。
11 个问题
为什么我不能在.NET Core 6.0中对“System”进行Fake-Mock(VS Enterprise 2022)?我不知道发生了什么。
之前我尝试使用“using System.Fakes;”,但是在参考了下面这个文档以后提示“缺少一个程序集引用”
用 Microsoft Fakes 隔离测试代码 - Visual Studio (Windows) | Microsoft Learn
可是我仍能在我的“Fakes”文件夹中看到“System.fakes”文件。
请为我的问题在.NET Core下提供一个可行的例子。
我的代码如下:
using System.Fakes;
[TestClass]
public class MockDateTimeTest{
[TestMethod]
public async void TestTodayIsLastDateOfYear(){
// Arrange
// Actbool result = false;
using (ShimsContext.Create()){
ShimDateTime.NowGet = () => new DateTime(2013, 12, 31);
result = DateTimeHelper.IsTodayLastDateOfYear();
}
// Assert
Assert.IsTrue(result);
}
}
public static class DateTimeHelper{
public static bool IsTodayLastDateOfYear()
{DateTime today = DateTime.Now;
if (today.Month == 12 && today.Day == 31)
return true;elsereturn false;
}
}
让我知道你是否可以在.NET Core下成功使用“using System.Fakes”,并请尽快回复我。提前感谢。
Note:此问题总结整理于:Why I can't Fake-Mock "System" in .net core 6.0(VS Enterprise 2022) - Microsoft Q&A