我们通过GUI自动化与Selenium一起使用SpecFlow执行Gherkin功能/场景。使用的Web服务器是CassiniDev,如this SO answer中所述。
许多场景(例如a.k.a.示例)包括如下逻辑:
Given the customer does something
When some time elapse
Then ...
如何在一个单独的流程中运行的被测系统伪造系统时间,例如我们通过上述示例测试接受/规范?
(对于在与SUT相同的过程中执行的普通单元/集成测试,假系统时间问题通过使用我们自己的SystemDateTime
类型来解决,这允许我们更改{{1 (公共lambda expr)。)
答案 0 :(得分:0)
我通过引导网络应用程序检查是否使用假系统时钟解决了这个问题。
我在web.config中添加了一个标志。如果为true,则从环境变量中读取假日期+时间。
示例/场景只是相应地设置标志和环境变量作为其Given-steps的一部分。