The Mars Rover is meant to be deployed on Mars. The variables which ought to be considered in an integration test may include atmosphere of mainly carbon dioxide at 1/100th the pressure of Earth's, temperature ranges from -80C to +20C, and last but not least a gravity of 0.37g.
An argument against integration testing a Mars rover may include the fact that *it couldn't be meaningfully done on this freaking planet*.
A very interesting point. Even so, we could simulate all those factors on Earth, if the physicists could be sure that we could safely ignore everything else.
Post Script: Gary Bernhardt moved Ruby one step closer to supporting the syntax I used in this article for declaring object collaborators. https://github.com/garybern...
I would probably introduce just one or two integrated tests to ensure the whole system is properly initialized (e.g. configuration, IoC containers, etc.); maybe some simple ones, which satisfy some acceptance criteria. I think this is also in line with "Integrated Tests are a Scam", but I haven't watched it for a while now.
Yes. I would like at least one Smoke Test that verifies that a container can inject every interface that it tries to. I would probably also want some way to check that any configuration is at least syntactically valid, much like `httpd -t` does for Apache. Of course, I'll have some integrated tests, but when I wrote this article, I wanted to explore the claim "Only an integrated test would have found the problem."