Git Product home page Git Product logo

Comments (4)

tzachshabtay avatar tzachshabtay commented on May 25, 2024 1

@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.

LandonTClipp avatar LandonTClipp commented on May 25, 2024 1

@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.

LandonTClipp avatar LandonTClipp commented on May 25, 2024 1

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.

tzachshabtay avatar tzachshabtay commented on May 25, 2024

@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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.