Comment by ivell
13 hours ago
One of the big advantages of types is documenting what is *not* allowed. This brings a clarity to the developers and additionally ensure what is not allowed does not happen.
Unit tests typically test for behaviours. This could be both positive and negative tests. But we often test only a subset of possibilities just because how people generally think (more positive cases than negative cases). Theoretically we can do all those tests with unit testing. But we need to ask ourselves honestly, do we have that kind of test coverage as SQLLite? If yes, do we have that for very large codebases?
Just to clarify, are you saying SQLLite is a good example that we should emulate?
SQLite is known for having a lot of testing. Per their docs around 600x as much test as application code.
https://sqlite.org/testing.html