This means banning integration tests of most interesting services. IMO you don't want to do that.
This means banning integration tests of most interesting services. IMO you don't want to do that.
> The first one is easy, ban these. You don’t need them in the blocking portion of your pipelines.
I don't think they mean ban integration testing. I think they are saying don't block merge requests on integration testing.
Is this still a problem? Perhaps they are doing some kind of trade off management. Isn't that basically what engineering is, like I remember when I was in high school the classic problem of engineering was do you want thicker heavier wires on electricity poles which means more poles and more expensive or thinner lighter wires so they are lighter but higher resistance and more "leakage". My understanding is there are no correct answers, only the least bad ones.
Imagine someone trying to change the background color of a button in css and waiting three hours for integration tests to finish before anyone can +2 it.
If you're in an environment where you have limited/absence of type checking then you're right. In my experience, most problems that come from the integration of networked services come from not properly accounting for all possible responses. You're expecting to get a 200 response and a field of `x` but you got a 204 so the response is empty. That sort of thing.
If you're assuming that the hundreds of millions of lines of other people's code totally outside your control always follows its spec, doesn't have bugs, or can change out from under you with no version bump (yay cloud) you're gonna be bit hard and then have to invest in integration tests.