Comments (4)
You should not enable the real networking mode if the requests you are testing are not valid network reachable hosts unless you want to explicitly test that scenario. Simply ignore the EnableNetworking()
call.
from gock.
now I have to test a func
,consists of 4 http call,let‘s call them A
,B
,C
,D
.
A
and D
are real http call, B
and C
are the requests that I want to mock. I don't want the mock in B
,C
to influence the real http request in A
,D
, and I can not separate them since I need to test the whole func
what should I do in this condition with out EnableNetworking()
thanks~
from gock.
You can enable the real networking mode per specific mock instance instead of enabling it globally:
https://github.com/h2non/gock/blob/master/request.go#L294
from gock.
hi @h2non, in the example you provided, i saw this defer
statement.
func main() {
defer gock.Disable()
defer gock.DisableNetworking()
srv := startHTTPServer()
defer srv.Close()
// Register our local server
gock.New(srv.URL).
EnableNetworking()
and i have two questions:
- supposed my SIT looks like this, where should i put the
gock.Disable()
? should i add it for every test case or only onTearDownSuite
? im worried if i put it on every test cases, it will interfere with other test case not that im sure if its possible tho.
type MySuite {
suite.Suite
}
func TestMySuite(t *testing.T) {suite.Run(t, new(MySuite)}
func (s *MySuite) SetupSuite {}
func (s *MySuite) TearDownSuite {}
func (s *MySuite) TestCaseOne {}
func (s *MySuite) TestCaseTwo {}
func (s *MySuite) TestCaseThree {}
- why do we need call
defer gock.DisableNetworking()
that given that we only enable networking for the particular request only, unless we enable globalgock.EnableNetworking()
, then it makes sense for me. is there any reason for this?
Thanks.
from gock.
Related Issues (20)
- gock issue while mocking Prometheus with URL escaped query parameters HOT 3
- Mocking InsecureSkipVerify requests HOT 1
- TestResponderPreExpiredContext fails with go1.16 and up
- test code with EnableNetworking does not pass through header info
- Matching an array in the request body
- Header does not set if header exists and EnableNetworking() HOT 1
- is there any solution to generate response in the runtime? HOT 1
- use JSON() as post body matcher, does the order of fields in the body affect matching result HOT 1
- Lack of clarity about the usage of `gock.New` and how it only matches hosts
- Want to take over toxy, but you can't open a New Issue on archived repos.
- Gock is not intercepting unit tests request
- Add callback functionality
- [Question] How to mock two urls and corresponding responses. HOT 2
- Race condition in mock.go file
- not matching GET request
- panic on go 1.17 HOT 1
- How to test google api using gock?
- Mocked response with 301 status code and location header returns an error HOT 1
- My tests fail with GitHub Actions: mocks seem to be ignored 🤷 HOT 2
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 gock.