代码拉取完成,页面将自动刷新
a simple fake clock for golang
Replace uses of the time
package with the clockwork.Clock
interface instead.
For example, instead of using time.Sleep
directly:
func my_func() {
time.Sleep(3 * time.Second)
do_something()
}
inject a clock and use its Sleep
method instead:
func my_func(clock clockwork.Clock) {
clock.Sleep(3 * time.Second)
do_something()
}
Now you can easily test my_func
with a FakeClock
:
func TestMyFunc(t *testing.T) {
c := clockwork.NewFakeClock()
// Start our sleepy function
my_func(c)
// Ensure we wait until my_func is sleeping
c.BlockUntil(1)
assert_state()
// Advance the FakeClock forward in time
c.Advance(3)
assert_state()
}
and in production builds, simply inject the real clock instead:
my_func(clockwork.NewRealClock())
See example_test.go for a full example.
Inspired by @wickman's threaded fake clock, and the [Golang playground](http://blog.golang.org/playground#Faking time)
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。