type Button … // NewButton creates a new instance of Button. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. // The first argument is typically a *testing.T value. func NewButton(t interface { … }