Comments (7)
I just faced the same issue
from moq.
just bumped into this myself.
from moq.
OK I'll see if I can figure out what's going on.
from moq.
@jasonhancock @pdrum @noodlensk Can you please update and check this again? #62 may have fixed it.
from moq.
I checked it and it seems to have been fixed.
Input
package sample
import "sandbox/sample/sample"
//go:generate moq . Interface
type Interface interface {
DoThing(number sample.Number)
}
and
package sample
type Number int
Output
// Code generated by moq; DO NOT EDIT.
// github.com/matryer/moq
package sample
import (
"sandbox/sample/sample"
"sync"
)
var (
lockInterfaceMockDoThing sync.RWMutex
)
// InterfaceMock is a mock implementation of Interface.
//
// func TestSomethingThatUsesInterface(t *testing.T) {
//
// // make and configure a mocked Interface
// mockedInterface := &InterfaceMock{
// DoThingFunc: func(number sample.Number) {
// panic("TODO: mock out the DoThing method")
// },
// }
//
// // TODO: use mockedInterface in code that requires Interface
// // and then make assertions.
//
// }
type InterfaceMock struct {
// DoThingFunc mocks the DoThing method.
DoThingFunc func(number sample.Number)
// calls tracks calls to the methods.
calls struct {
// DoThing holds details about calls to the DoThing method.
DoThing []struct {
// Number is the number argument value.
Number sample.Number
}
}
}
// DoThing calls DoThingFunc.
func (mock *InterfaceMock) DoThing(number sample.Number) {
if mock.DoThingFunc == nil {
panic("InterfaceMock.DoThingFunc: method is nil but Interface.DoThing was just called")
}
callInfo := struct {
Number sample.Number
}{
Number: number,
}
lockInterfaceMockDoThing.Lock()
mock.calls.DoThing = append(mock.calls.DoThing, callInfo)
lockInterfaceMockDoThing.Unlock()
mock.DoThingFunc(number)
}
// DoThingCalls gets all the calls that were made to DoThing.
// Check the length with:
// len(mockedInterface.DoThingCalls())
func (mock *InterfaceMock) DoThingCalls() []struct {
Number sample.Number
} {
var calls []struct {
Number sample.Number
}
lockInterfaceMockDoThing.RLock()
calls = mock.calls.DoThing
lockInterfaceMockDoThing.RUnlock()
return calls
}
from moq.
Looks good on my end as well
from moq.
Closing as this specific issue was solved in #62.
from moq.
Related Issues (20)
- Error if field type and method have the same name HOT 3
- Generate mock for external library HOT 2
- Generate mocks for interfaces with generic types HOT 5
- Error on M1 Mac when generating mocks with confluent-kafka-go dependency HOT 1
- Moq ignores package names of arguments of generic types HOT 4
- Is there a way to speed up the moq generation time? HOT 14
- Feature to register multiple mock functions to a method HOT 2
- Moq creates non-unique import aliases HOT 3
- API for argument-based assertions HOT 2
- Instructions on readme inst matching the current version
- Support for mocking core types HOT 8
- Q. `--with-calls` option to generate functions to track and inspect the calls made to a mock HOT 2
- Not installing for go 1.15 HOT 3
- Support non-basic type constraints HOT 1
- error: couldn't load source package
- Self import issue HOT 2
- Error while re-generate mock
- PROPOSAL: Integration with vektra/mockery HOT 10
- Moq failing when encountering a generic function HOT 1
- feat: Allow generation of mocked interface that depends on other mocked interfaces from different packages HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from moq.