我正在创建一个 React / .NET Core 项目,其中一个页面显示当前日期和时间。我的控制器类如下:
namespace TestingReactDotNet.Controllers {
[Route ("api/[controller]")]
public class DayTodayController : Controller {
[HttpGet, Route ("GetDate")]
public string GetDate () {
var info = $"Today is {DateTime.Now.ToString("dddd, dd MMMM yyyy")} and the time is {DateTime.Now.ToString("hh:mm tt")}";
return info;
}
}
}
我正在尝试对其进行单元测试并模拟日期和时间,但正在努力做到这一点(我已经查看了其他 Stack Overflow 问题并用 Google 搜索,但我仍然遇到了麻烦)。本来想用Moq,但是好像不太可能?
这是我到目前为止的测试内容:
namespace TestingReactDotNetTests
{
public class DayTodayTests
{
[Test]
public void ReturnsDateAndTime()
{
var controller = new DayTodayController();
string result = controller.GetDate();
string expected = "Today is Tuesday 27 August 2019 and the time is 10:00";
Assert.AreEqual(expected, result);
}
}
}
我的问题是 - 如何设置日期和时间,以便DateTime.Now在字符串中调用时,它不是当前的日期和时间?
慕村225694
相关分类