Existe uma maneira fácil de eliminar o tempo. Agora () globalmente em golang durante o teste?

Parte do nosso código é sensível ao tempo e precisamos reservar algo e depois liberá-lo em 30 a 60 segundos, etc, o que podemos fazertime.Sleep(60 * time.Second)

Acabei de implementar a interface de tempo e durante o teste usei uma implementação stubbed da interface de tempo, semelhante aesta discussão golang-nozes.

Contudo,time.Now() é chamado em vários sites, o que significa que precisamos passar uma variável para manter o controle de quanto tempo realmente dormimos.

Eu queria saber se existe uma maneira alternativa de eliminartime.Now() globalmente. Talvez fazendo uma chamada do sistema para alterar o relógio do sistema?

Talvez possamos escrever nosso próprio pacote de tempo que basicamente envolve o pacote de tempo, mas nos permite alterá-lo?

Nossa implementação atual funciona bem, eu sou iniciante e estou curioso para ver se alguém tem outras idéias?

questionAnswers(5)

yourAnswerToTheQuestion