agiledragon/gomonkey
agiledragon/gomonkey has 2,266 GitHub stars and 192 forks. GitHot measured 0 stars in 24 hours. Last checked 2026-11-06 22:49 UTC. Last push 2026-10-24.
gomonkey is a library to make monkey patching in unit tests easy
What you can do
- support a patch for a function
- support a patch for a public member method
- support a patch for a private member method
- support a patch for a interface
Measured star growth
- in 24h
- 0
- in 7 days
- Collecting history
- in 15 days
- Collecting history
- in 1 month
- Collecting history
Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.
README.md
Originalgomonkey
gomonkey is a library to make monkey patching in unit tests easy, and the core idea of monkey patching comes from Bouke, you can read this blogpost for an explanation on how it works.
Features
- support a patch for a function
- support a patch for a public member method
- support a patch for a private member method
- support a patch for a interface
- support a patch for a function variable
- support a patch for a global variable
- support patches of a specified sequence for a function
- support patches of a specified sequence for a member method
- support patches of a specified sequence for a interface
- support patches of a specified sequence for a function variable
Notes
- gomonkey fails to patch a function or a member method if inlining is enabled, please running your tests with inlining disabled by adding the command line argument that is
-gcflags=-l(below go1.10) or-gcflags=all=-l(go1.10 and above). - A panic may happen when a goroutine is patching a function or a member method that is visited by another goroutine at the same time. That is to say, gomonkey is not threadsafe.
Supported Platform:
ARCH
- amd64
- arm64
- 386
- loong64
- riscv64
OS
- Linux
- MAC OS X
- Windows
Installation
- below v2.1.0, for example v2.0.2
$ go get github.com/agiledragon/[email protected]
- v2.1.0 and above, for example v2.11.0
$ go get github.com/agiledragon/gomonkey/[email protected]
Test Method
$ go test . ./test -gcflags=all=-l
Using gomonkey
Please refer to the test cases as idioms, very complete and detailed.
Explore related projects
codecrafters-io/build-your-own-x
Master programming by recreating your favorite technologies from scratch.
560,557 starspublic-apis/public-apis
A collective list of free APIs
496,834 starsmorluto/rea
Reverse engineer anything with agents, from app behavior down to native binaries.
439,113 starsopenclaw/openclaw
The AI that really does things. Any OS. Any Platform. The lobster way. 🦞
394,097 stars