Lar*_*sen 6 c# testing design-patterns
如果构建业务流程取决于它的时间[1]的系统,则不能DateTime.Now在代码中使用或类似,因为您必须处理测试,例如,未来的月末或年终场景.使用SSL证书时通常不能更改操作系统时间,因为对分布式系统执行更正是很复杂的.
一种选择是创建一个单一服务,该服务可由返回当前时间的所有系统访问.在生产中它可以返回DateTime.Now并且在测试中它可以在月末的情景中返回2月28日的游戏时间.
但有更好的方法吗?就像更加面向数据库的方法,因为它可以带来更好的性能?或者你会放入分布式缓存?这有一些众所周知的设计模式吗?
[1]典型例子:保险系统,核心银行系统实施的业务流程......
我得出的结论是以下方法可行:
单元测试:
集成测试、用户驱动测试和生产:
以下是调用 NTP 服务器的 C# 代码:从 C# 调用 NTP 服务器
拉尔斯
| 归档时间: |
|
| 查看次数: |
267 次 |
| 最近记录: |