3 ms·
I have heard of property based testing (e.g. QuickCheck). Is the main innovation of Eiffel that the author is referring to that these invariants are written alo
by syastrov 8y ago
I have heard of property based testing (e.g. QuickCheck). Is the main innovation of Eiffel that the author is referring to that these invariants are written alongside the actual code AND are configurably checked at runtime?
Because ordinarily, you might sprinkle assertions throughout your code, but these are checked only at the point you add them, rather than between statements as I assume Eiffel does.
In that case, I see some benefits in the form of documenting logical assumptions which are actually validation when code is run (also during manual testing).
I could imagine this being implemented in other languages by hooking into statement execution much like a profiler or debugger and executing the checks.
Does anyone know of such tools for other languages, e.g Python or JS?
Does anyone have real-world experience with this development technique on an actual project in production?