search the lab

Embedded Testing with Unity & CMock (by Mark)

Embedded Testing with Unity & CMock

James Grenning's book (features Unity)

Test Driven Development for Embedded C


« Unity Intro | Main | Basic Testing with Unity »

Should I Download Unity, CMock, or Ceedling?

There are a couple of things to consider when choosing which unit testing package you should be downloading. It's true that Unity is used by CMock, and that both are used by Ceedling... but starting with Unity and scaling up is not always the best solution.

For each of these statements, give yourself the number of points listed for each "True" statement.

  • I'm not sure how to configure an environment for testing, or I would prefer not to. (10)
  • I'm happy fine if the tools use a scripting language to make things easier. (5)
  • I'd prefer to edit YAML or text files to configure a project than makefiles. (10)
  • I'd prefer to stick strictly with C files. (-5)
  • I'd like to test single modules only. (-5)
  • I'd like tools to help me verify my code calls the correct functions. (5)
  • I'd like tools to help me inject return values into my code. (5)

Total up your score and feed it into the Project-Decide-O-Tron-3000, created by one of our own Mad Scientists. The Decide-O-Tron will take your total and convert it according to the scale below:

  • -500 to 5 - You probably just want Unity. You don't seem interested in mocking, and don't care for more than the most basic scripting support.
  • 5 to 15 - You're likely interested in a decent mocking framework so that you can do some serious Unit testing and take advantage of some handy scripts... but in the end, you want these tools to fit into your current setup or would prefer to handle the details yourself.
  • 15 to 500 - It's Ceedling time, baby. Sure, it's the largest of the download packages, but it's going to use Ruby to make your life easier... why figure out how to manage your own tests when you can make Ceedling do most of the work for you?