I think there's something to be said about them running automatically that is lost when you say they're just asserts.
int foo(int a) {
assert(a > 5);
int b = a * 10;
assert(b > 50);
return b;
}
do you think those asserts don't "run automatically"?