Ian Jackson <[EMAIL PROTECTED]> writes:
> Russ Allbery writes:

>> Functional tests generally test some user-exposed functionality of the
>> package and therefore usually don't require access to anything other than
>> the public interface of the package.  Unit tests are tests of specific
>> internal components and therefore frequently exercise internal APIs and
>> have to be built as part of a built source tree (rather than applied to
>> the final binaries).

> Thanks for the explanation; that's more or less what I thought but it
> didn't seem to apply: I don't think there are any unit tests for dpkg.

> Most of the internal functionality is reasonable accessible and
> testable from the external interfaces, so I don't think inventing a
> bunch of unit tests would make a great deal of sense.

I don't think I've ever found a piece of software where I didn't want to
write unit tests -- there aren't any internal data structure
implementations, internal functions (such as dependency analysis) with a
well-defined API, or anything similar?

Unit tests provide a lot of bang for the buck for portions of a code base
that one can then treat in isolation.  They help a lot with hammering out
the interfaces of internal modules and utility functions.  I write unit
tests for all generic utility code (error reporting functions, memory
allocation wrappers, hash tables, etc.) as a matter of course so that I
can be sure I've gotten all the edge cases in the interface.

-- 
Russ Allbery ([EMAIL PROTECTED])               <http://www.eyrie.org/~eagle/>


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to