Internal registry for disambiguated imports, vars (#141)
* Internal registry for disambiguated imports, vars - Move functionality in the moq package partially into internal/{registry,template}. - Leverage registry to assign unique package and variable/method parameter names. Use import aliases if present in interface source package. BREAKING CHANGE: When the interface definition does not mention the parameter names, the field names in call info anonymous struct will be different. The new field names are generated using the type info (string -> s, int -> n, chan int -> intCh, []MyType -> myTypes, map[string]int -> stringToInt etc.). For example, for a string parameter previously if the field name was 'In1', the new field could be 'S' or 'S1' (depends on number of string method parameters). * Refactor golden file tests to be table-driven * Fix sync pkg alias handling for moq generation * Improve, add tests (increase coverage) * Use $.Foo in template, avoid declaring variables $ is set to the data argument passed to Execute, that is, to the starting value of dot. Variables were declared to be able to refer to the parent context. * Consistent template field formatting * Use tabs in generated Godoc comments' example code * Minor simplification * go generate * Fix conflict for generated param name of pointer type Excellent work by @sudo-suhas.
This commit is contained in:
@@ -13,25 +13,25 @@ var _ MyInterface = &MyInterfaceMock{}
|
||||
|
||||
// MyInterfaceMock is a mock implementation of MyInterface.
|
||||
//
|
||||
// func TestSomethingThatUsesMyInterface(t *testing.T) {
|
||||
// func TestSomethingThatUsesMyInterface(t *testing.T) {
|
||||
//
|
||||
// // make and configure a mocked MyInterface
|
||||
// mockedMyInterface := &MyInterfaceMock{
|
||||
// OneFunc: func() bool {
|
||||
// panic("mock out the One method")
|
||||
// },
|
||||
// ThreeFunc: func() string {
|
||||
// panic("mock out the Three method")
|
||||
// },
|
||||
// TwoFunc: func() int {
|
||||
// panic("mock out the Two method")
|
||||
// },
|
||||
// }
|
||||
// // make and configure a mocked MyInterface
|
||||
// mockedMyInterface := &MyInterfaceMock{
|
||||
// OneFunc: func() bool {
|
||||
// panic("mock out the One method")
|
||||
// },
|
||||
// ThreeFunc: func() string {
|
||||
// panic("mock out the Three method")
|
||||
// },
|
||||
// TwoFunc: func() int {
|
||||
// panic("mock out the Two method")
|
||||
// },
|
||||
// }
|
||||
//
|
||||
// // use mockedMyInterface in code that requires MyInterface
|
||||
// // and then make assertions.
|
||||
// // use mockedMyInterface in code that requires MyInterface
|
||||
// // and then make assertions.
|
||||
//
|
||||
// }
|
||||
// }
|
||||
type MyInterfaceMock struct {
|
||||
// OneFunc mocks the One method.
|
||||
OneFunc func() bool
|
||||
|
Reference in New Issue
Block a user