Czy jest łatwy sposób na wygaszenie czasu. Teraz () globalnie w golangu podczas testu?

Część naszego kodu jest wrażliwa na czas i musimy mieć możliwość zarezerwowania czegoś, a następnie wydania go w ciągu 30-60 sekund itp., Co możemy zrobić po prostutime.Sleep(60 * time.Second)

Właśnie zaimplementowałem interfejs czasowy i podczas testu używaj skrótowej implementacji interfejsu czasowego, podobnie jakta dyskusja o golangach.

Jednak,time.Now() jest wywoływany w wielu witrynach, co oznacza, że ​​musimy przekazać zmienną dookoła, aby śledzić, ile czasu faktycznie spaliśmy.

Zastanawiałem się, czy istnieje alternatywny sposób na wyparcie siętime.Now() globalnie. Może wywołanie systemowe, aby zmienić zegar systemowy?

Może możemy napisać nasz własny pakiet czasu, który w zasadzie otacza pakiet czasu, ale pozwala nam go zmienić?

Nasza obecna implementacja działa dobrze, jestem początkującym i jestem ciekaw, czy ktoś ma inne pomysły?

questionAnswers(5)

yourAnswerToTheQuestion