That brings up an interesting idea. A ‘package replace’ during compile. So you request that the os package is replaced by osmock etc.
This would allow easy general reuse mocking frameworks without changing the stdlib and all user code. > On Aug 1, 2019, at 8:38 AM, kyle.b...@sezzle.com wrote: > > You'll want to check out `gomock` and `mockgen`. You'll need to write an > interface to be able to mock, so you may need to write a receiver struct to > encapsulate os.Hostname() or whatever you need to mock, then mock your > HostnameGetter (surely a better name than that), maybe? > > type OsClient struct {} > > (o *OsClient) GetHostname() (string, error) { return os.Hostname() } > > type HostnameGetter interface { GetHostname() (string, error)} > > > > Here is repo w/ documentation: https://github.com/golang/mock > > And here are a couple other nice introductions: > - https://blog.codecentric.de/en/2017/08/gomock-tutorial/ > - https://www.philosophicalhacker.com/post/getting-started-with-gomock/ > >> On Thursday, August 1, 2019 at 7:09:54 AM UTC-5, Nitish Saboo wrote: >> Hi, >> >> How can we mock a function in Go like os.Hostname() or os.Getwd() ? >> Any framework or Library that we can use for mocking the function calls ? >> >> Thanks, >> Nitish > > -- > You received this message because you are subscribed to the Google Groups > "golang-nuts" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to golang-nuts+unsubscr...@googlegroups.com. > To view this discussion on the web visit > https://groups.google.com/d/msgid/golang-nuts/bceaef08-4ee2-4f57-8c0d-5fee59e8cfd7%40googlegroups.com. -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/golang-nuts/98BE5EF3-E4EB-43A8-A28F-A8905179E43B%40ix.netcom.com.