Skip to content

mockable ​

Mockable interface utilities for testing.

Overview ​

The mockable package provides mockable implementations of system functions.

API Reference ​

go
var TimeNow func() time.Time

func MockTimeNow(t time.Time)

Usage ​

go
package main

import (
    "time"
    "github.com/yusing/goutils/mockable"
)

func main() {
    // Mock time for testing
    mockable.MockTimeNow(time.Date(2024, 1, 1, 12, 0, 0, 0, time.UTC))

    // Now TimeNow returns the mocked time
    now := mockable.TimeNow()
    fmt.Println(now) // 2024-01-01 12:00:00
}

Use Cases ​

  • Time-based testing without sleep
  • Reproducible timing scenarios
  • Testing timeouts and deadlines

Released under the MIT License.