Writing and testing a paginated API iterator in Go

3 comments

that's a really useful testing strategy. I used to to write automated tests using an approach very similar to yours, but I was often bothered that I needed to write code in a programming language to set up the mocked data. After a while the testing code gets really verbose. Not just the mocking setup but also the assertion logic. I wanted an easier way that didn't involve writing much code, so I ended up building "mock":

https://dhuan.github.io/mock/

I’m incredibly excited about using this, thanks for the excellent write up.

Same here. Haven’t looked into Go iterators because I couldn’t find a purpose, but trying them in our SDK for pagination was on my list. Great.

Uhm, is passing opts by pointer, as "*github.RepositoryListByUserOptions" instead of by value intended? I suppose it can be used to resume the iteration from where it was stopped?