On Wed, Jan 5, 2011 at 9:02 PM, Jonathan Geddes <[email protected]> wrote:
> Despite all this, I suspect that since Haskell is at a higher level of > abstraction than other languages, the tests in Haskell must be at a > correspondingly higher level than the tests in other languages. I can > see that such tests would give great benefits to the development > process. I am convinced that I should try to write such tests. But I > still think that Haskell makes a huge class of tests unnecessary. The testing stuff available in Haskell is top-notch, as others have pointed out. One of the biggest PITAs with testing in other languages is having to come up with a set of test cases to fully exercise your code. If you don't keep code coverage at 100% or close to it, it is quite easy to test only the inputs you are *expecting* to see (because programmers are lazy) and end up with something which is quite broken or even insecure w.r.t. buffer overruns, etc. (Of course we don't usually have those in Haskell either.) QuickCheck especially is great because it automates this tedious work: it fuzzes out the input for you and you get to think in terms of higher-level invariants when testing your code. Since about six months ago with the introduction of JUnit XML support in test-framework, we also have plug-in instrumentation support with continuous integration tools like Hudson: http://buildbot.snapframework.com/job/snap-core/ http://buildbot.snapframework.com/job/snap-server/ It's also not difficult to set up automated code coverage reports: http://buildbot.snapframework.com/job/snap-core/HPC_Test_Coverage_Report/ http://buildbot.snapframework.com/job/snap-server/HPC_Test_Coverage_Report/ Once I had written the test harness, I spent literally less than a half-hour setting this up. Highly recommended, even if it is a (blech) Java program. Testing is one of the few areas where I think our "software engineering" tooling is on par with or exceeds that which is available in other languages. G -- Gregory Collins <[email protected]> _______________________________________________ Haskell-Cafe mailing list [email protected] http://www.haskell.org/mailman/listinfo/haskell-cafe
