1. The document discusses various techniques for testing functions in Go that depend on the time.Now() function, including overriding time.Now(), using a fake clock interface, and monkey patching.
2. It provides examples of overriding time.Now() directly, using a fakeclock.FakeClock type from the clock package to inject a test clock, and monkey patching time.Now() using the monkey package.
3. The techniques allow isolating tests by faking the system time so time-dependent code returns predictable outputs for different test cases.
Digdag can automate large-scale data processing and handle errors. It provides constructs like operators, parameters, and task groups to organize workflows. Operators package tasks to run queries or process data. Parameters allow passing variables between tasks. Task groups modularize and organize workflows. Digdag supports error handling, monitoring, parallelization, versioning, and reproducing workflows across environments.
1. The document discusses various techniques for testing functions in Go that depend on the time.Now() function, including overriding time.Now(), using a fake clock interface, and monkey patching.
2. It provides examples of overriding time.Now() directly, using a fakeclock.FakeClock type from the clock package to inject a test clock, and monkey patching time.Now() using the monkey package.
3. The techniques allow isolating tests by faking the system time so time-dependent code returns predictable outputs for different test cases.
Digdag can automate large-scale data processing and handle errors. It provides constructs like operators, parameters, and task groups to organize workflows. Operators package tasks to run queries or process data. Parameters allow passing variables between tasks. Task groups modularize and organize workflows. Digdag supports error handling, monitoring, parallelization, versioning, and reproducing workflows across environments.