Why We Should Drop the "Unit" in "Unit Test Frameworks"


I hate it.

Unit test this. Unit test that.

Let’s put “unit” in our testing framework so we can test “units” cuz that’s all ANYBODY is EVER going to test.

Testing outside of the “unit” is forsaken. Thou shalt never test more than a unit. Test more than a unit and ye shall be pelted with stones and crucified.

Let’s see… What do we have here for unit test frameworks:

brentUnit (even Brent Strange can have a unit testing framework)
JUnit (notice the word unit)
nUnit (look at me, I test units)
mbUnit (I’m a follower, I can’t think outside of the box. Uhm…let’s test units.)
csUnit (CHEESE & RICE, this is INSANE)

OH HELL…Just go here for the gi-hugey list:


You back? See what I mean? There’s like one-cajillion testing frameworks that are for “Unit Testing”.

Unit, unit, unit. It’s freakin’ beyond dumb.

Tell me…What happens once this developer phase of “Oh, I gotta go write some unit tests, with my unit test framework so my code is better” evolves to tests beyond “unit”? You know, like writing some tests that are “integration” or “functional? It’ll happen people.


I, and others have been using “unit testing” frameworks as an automation test harness for years now. All kinds of tests.. Tests that aren’t “unit”.

Yeah, insane. Unheard of I know. What? You going to crucify me now?

Drop the unit. Get over it. These are “Testing frameworks”.

Microsoft, nice namespace: Microsoft.VisualStudio.TestTools.UnitTesting

Don’t give me any crap about how “unit testing frameworks” are for developers. Good one rocket scientist…Let’s create separate frameworks to basically do the same thing. One for Dev, one for QA. Brilliant…

One Response to Why We Should Drop the "Unit" in "Unit Test Frameworks"

  1. Hi Brent,

    I understand you rage assuming that I properly understand where you are coming from.

    Other people are coming from a different angle and they have different experiences and look at things in a different context from yours. This does not mean that your perspective is right or wrong and it doesn’t mean that the perspective of other people is right or wrong!

    The term "unit testing" – from my perspective – has a very particular meaning when used in connection with agile methodologies, especially Extreme Programming (XP). There it is part of the associated terminology. It has a specific meaning there. The term "unit testing" may not mean anything anywhere else, or it might even sound "insane" as you put it.

    And even in the agile community there are people who are concerned and debate whether the term "unit testing" is appropriate. For instance some people suggest to distinguish between acceptance and developer tests, and to drop the term "unit test" altogether. The suggestion has its merits. Keeping the term has its merits, too, since a lot of members of the agile community are familiar with the term and associate a specific meaning with it.

    Again, looking from your perspective I understand why you hate the term "unit testing". But this doesn’t mean that the term as such can’t have value to other people with other perspectives in a different context.

    On a side note: csUnit does not stand for "Cheese and Rice". Rice doesn’t start with the letter ‘s’. đŸ˜‰

    Kind regards,

    Manfred Lange.
    csUnit Developer
    csUnit Web Site
    Agile Leadership Blog
    Dot Net Blog

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.