On 5/25/10 2:50 PM, Daniel Fischer wrote:
On Tuesday 25 May 2010 13:36:01, Ionut G. Stan wrote:
Hi,
I'm doing TDD in pretty much all of the languages that I know, and I
want to introduce it early in my Haskell learning process. I wonder
though, if there's some established process regarding TDD, not unit
testing.
I've heard of QuickCheck and HUnit, but I've also read that QuickCheck
is used mostly for testing pure code, while HUnit for impure code?
And ghci or hugs are the most used tools for testing, be the code pure or
impure.
Well, probably. I'm looking for an automated solution though. I want to
be able to rerun the tests on every commit or version release.
What framework lends itself better for writing tests before the actual
production code? Can you point out to some resources regarding this?
You can write the QuickCheck properties that your functions should satisfy
before implementing the functions.
However, when you've determined the specs, it's rather unimportant whether
you write the properties first or the functions, IMO.
It may be true. I've got accustomed though to write code in iterative
steps, where I first think about the smallest feature that I want to
implement, then write the test, then again feature -> test -> code/refactor.
I will certainly have to adapt my work flow within the Haskell way of
doing things, until then though I'll start from what I know has produced
good results for me and change it along the way.
Oh, and a small off-topic question? Is it considered a good practice to
use implicit imports in Haskell?
Generally, no. It's considered good practice to use explicit import (and
export, of course) lists. But as lazy programmers, we can't always resist
the temptation to skip some not strictly necessary work.
The implicit import of the entire Prelude is a special case, modules from
the same package are edge cases, but otherwise it's a code smell.
I thought so. Good to know.
I'm trying to learn from existing
packages, but all those "import all" statements drive me crazy.
Thanks,
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe
Thanks,
--
IonuČ› G. Stan | http://igstan.ro
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe