Tests are a way to write your logic twice (once for the code and once during the assertions) with the assumption that you're unlikely to make the same mistake twice.
Integration tests are better replaced by something like contract testing IMO to still retain the test parallelism.
https://www.lesswrong.com/posts/Bf3ryxiM6Gff2zamw/control-ve...