> If you don't have a test for a given item of functionality; how do you know it works?
This would be an integration test
> If you don't have a test for your subsystem that covers the more common use cases; how will you tell if it broke when you updated one of the functions/methods it uses?
That would be a system test
> If you don't have a test for individual flows at the level of the entire system how will you know when you did something that broke the build outright?
I may misunderstand the question, but ... you compile it ?
> Testing is an engineering practice that lets you make changes to complex systems with confidence that the system is still doing it's job after the changes you make.
And if you have unit tests ... doing those changes is twice as hard as when you don't have them. Also if you test the "job" of the complex system, that would definitely not be a unit test.
This is what unit tests look like in large companies. What you actually find in the field
def add1(a):
return a + 1
def TestAdd1(self):
self.assertEquals(add1(2), 3)
self.assertEquals(add1(-2), -1)
self.assertEquals(add1(8), 9)
self.assertEquals(add1(12), 13)
self.assertEquals(add1(5557), 5558)
ThinkNone of your concerns apply to code like this. And nobody, ever, for any reason, should write code like this.