Git Product home page Git Product logo

Comments (3)

ostinelli avatar ostinelli commented on July 20, 2024

Interesting question.

I think that the best testing approach for testing GIN applications is integration testing. This is to ensure that everything, from the nginx.conf file to the routes, is properly set, and this is what the usage of the helper hit() allows you to achieve.

The other option, as you state, is to directly hit the routes stack without even starting nginx (just as Rails does for instance in controller tests).

The latter option would allow you to easily set up coverage; the first one does not. However, for the reasons here above I'd keep the integration approach. Therefore, I'd rule out having hit() to call the appropriate handler.

How to set up spies in a clean way for coverage, though, is another question.

from gin.

istr avatar istr commented on July 20, 2024

Yes, I would stick with the integration part, too -- no question. Just trying to find a good way to turn the integration tests into integration + unit tests (with coverage) automatically.
The other option I will need (in the very near future) would be a single nginx instance for a complete test group / suite, because starting/stopping nginx for each single test takes quite a lot of time if you have lots of tests (which I have).

from gin.

istr avatar istr commented on July 20, 2024

Outdated.

from gin.

Related Issues (17)

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.