Comments (4)
@LandonTClipp @kpaulisse is this part of mockery 2.36.0?
My "exclude" direction in the config file is ignored, not sure if I'm doing it wrong?
i.e this is my config file:
with-expecter: true
dir: "{{.InterfaceDir}}/mock"
outpkg: "mock"
filename: "{{ .InterfaceName | snakecase }}.go"
mockname: "{{ .InterfaceName | firstUpper }}"
packages:
org/bla/bla/package1:
config:
recursive: True
exclude:
- reinforced
include-regex: ".*"
exclude-regex: ".*[Oo]ption"
org/bla/bla/package2:
interfaces:
OptionMessageHandler:
org/bla/bla/package3:
config:
dir: "./internal/db/testutils/mock"
interfaces:
Tx:
Transactor:
It still generates mocks for the reinforced
packages (I also tried using the complete import name, i.e "org/bla/bla/package1/whatever/reinforced", that didn't work either).
from mockery.
@tzachshabtay I believe you need to specify a path that's relative to org/bla/bla/package1
. So if the absolute path of the thing you're trying to exclude is org/bla/bla/package1/whatever/reinforced
then you'll want
exclude:
- whatever/reinforced
If this is indeed the case, I need to update the docs to make this more clear.
from mockery.
You are right, I am kicking myself that I did not name this better. The reason this happened was because exclude was a parameter in the legacy config and someone sent in a pr to port this to the new config. I did not think clearly enough to prevent this unclear naming, that is my fault.
That doesn't mean we couldn't also add an exclude-package-regex parameter. To make this better for v3 I'm also totally fine with adding exclude-package that does the same thing as exclude, and then deprecate the usage of exclude.
If anyone wants to submit an issue to discuss a proposal for any of these ideas, I am likely to accept it.
from mockery.
@LandonTClipp ah thanks, relative path works.
As an aside, what I really would have liked here is an exclude regex, this would have allowed me to exclude .*reinforced
, and not to have to write a line for each reinforced package.
I would have renamed the current exclude-regex
to exclude-interface-regex
(and include-interface-regex
) and have this one as exclude-package-regex
.
from mockery.
Related Issues (20)
- mockery doesn't work with local package HOT 13
- Confusing error message for nil argument in mock expectation HOT 2
- Omitting `.Return()` on an expectation results in a panic and a stack trace rather than a useful error message HOT 7
- Mockery recursion should handle subpackages with their own config files
- Recursive: true appears to no longer work with v2.37 HOT 2
- Filename generated with variable name HOT 2
- Feature Request: Infer Local Package During Generation HOT 1
- Question: MinTimes(), MaxTimes() HOT 1
- pathlib values undefined HOT 3
- Generated Mock Importing Non-Existent 'command-line-arguments' Package HOT 2
- Option to replace a generic type parameter with a specific type HOT 3
- Should 2.39.1 enough to generate mocks for 2.40.1 HOT 7
- Mockery mistakenly imports internal packages when running the 'mockery' command HOT 2
- error: package "context" without types was imported
- mockery built with go 1.22~rc2 fails HOT 6
- Running mockery with docker does not work with go 1.22
- Could not run the latest Mockery Docker image with 1.22 codebase HOT 1
- Investigate if we can use `GODEBUG=gotypealias=1` to get around type alias sadness HOT 2
- Logging warning when mock config is orphaned HOT 1
- Variadic function issues. HOT 10
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 mockery.