We're executing Gherkin features/scenarios with SpecFlow by GUI automation with Selenium. The web server used is CassiniDev, as described in this SO answer.
A lot of scenarios (a.k.a. examples) include logic like:
Given the customer does something
When some time elapse
Then ...
How does one fake the system time for a system under test that runs in a separate process, like in our acceptance/specification by example tests described above?
(For ordinary unit/integration tests that are executed in the same process as the SUT, the fake system time issue is solved by using our own SystemDateTime
type which allows us to change what is returned by Now()
(a public lambda expr).)