matryer
matryer mocks are derived from the project at https://github.com/matryer/moq. These mocks create a struct that has a function field for each method, which you can declare in your test code.
Description¶
Go
// Code generated by mockery; DO NOT EDIT.
// github.com/vektra/mockery
package test
import (
    "sync"
)
// Ensure, that MoqRequester does implement Requester.
// If this is not the case, regenerate this file with moq.
var _ Requester = &MoqRequester{}
// MoqRequester is a mock implementation of Requester.
//
//  func TestSomethingThatUsesRequester(t *testing.T) {
//
//      // make and configure a mocked Requester
//      mockedRequester := &MoqRequester{
//          GetFunc: func(path string) (string, error) {
//              panic("mock out the Get method")
//          },
//      }
//
//      // use mockedRequester in code that requires Requester
//      // and then make assertions.
//
//  }
type MoqRequester struct {
    // GetFunc mocks the Get method.
    GetFunc func(path string) (string, error)
    // calls tracks calls to the methods.
    calls struct {
        // Get holds details about calls to the Get method.
        Get []struct {
            // Path is the path argument value.
            Path string
        }
    }
    lockGet sync.RWMutex
}
// Get calls GetFunc.
func (mock *MoqRequester) Get(path string) (string, error) {
   // ...
}
// GetCalls gets all the calls that were made to Get.
// Check the length with:
//
//  len(mockedRequester.GetCalls())
func (mock *MoqRequester) GetCalls() []struct {
    Path string
} {
    // ...
}
matryer-style mocks are far simpler, and probably more intuitive, than testify-style mocks. All that's needed is to define the function that will be run when the mock's method is called.
template-data¶
moq accepts the following template-data: keys:
| key | type | description | 
|---|---|---|
boilerplate-file | 
string | 
Specify a path to a file that contains comments you want displayed at the top of all generated mock files. This is commonly used to display license headers at the top of your source code. | 
mock-build-tags | 
string | 
Set the build tags of the generated mocks. Read more about the format. | 
skip-ensure | 
bool | 
Suppress mock implementation check, avoid import cycle if mocks generated outside of the tested package. | 
stub-impl | 
bool | 
Return zero values when no mock implementation is provided, do not panic. | 
with-resets | 
bool | 
Generates methods that allow resetting calls made to the mocks. | 
Schema¶
JSON
  
  
  
                
              {
    "$schema": "http://json-schema.org/draft-07/schema#",
    "title": "vektra/mockery matryer mock",
    "type": "object",
    "additionalProperties": false,
    "properties": {
      "boilerplate-file": {
        "type": "string"
      },
      "mock-build-tags": {
        "type": "string"
      },
      "skip-ensure": {
        "type": "boolean"
      },
      "stub-impl": {
        "type": "boolean"
      },
      "with-resets": {
        "type": "boolean"
      }
    },
    "required": []
  }