我有一些(C#)代码依赖于今天的日期来正确计算未来的东西.如果我在测试中使用今天的日期,我必须在测试中重复计算,这感觉不对.在测试中将日期设置为已知值的最佳方法是什么,以便我可以测试结果是否为已知值?
我有一个包含大量属性的类,如下所示:
public string Name
{
get { return _name; }
set { IsDirty = true; _name = value; }
}
Run Code Online (Sandbox Code Playgroud)
如果我可以依靠C#3.0来为这些生成后备存储,那将会容易得多,但有没有办法将IsDirty = true分解出去; 这样我就可以编写类似这样的属性并仍然得到相同的行为:
[MakesDirty]
public string Name { get; set; }
Run Code Online (Sandbox Code Playgroud)