[[Image(http://cmock.sourceforge.net/CMockLogo.png, link=WikiStart)]] [WikiStart Home] | [http://sourceforge.net/projects/cmock/ Project Portal] | [http://atomicobject.com Atomic Object] | [http://spin.atomicobject.com/embedded-corner Embedded Corner ] | [http://tech.groups.yahoo.com/group/AgileEmbedded/ Agile Embedded Group] = CMock - Mock Module Generation Framework for C = CMock is a module/object mocking framework for C projects useful for [http://en.wikipedia.org/wiki/Mock_object interaction-based unit testing]. CMock uses Ruby to auto-generate C source code mock object modules conforming to the interfaces specified in C header files. * [http://sourceforge.net/projects/cmock/ The Traditional SourceForge Project Portal] * [http://sourceforge.net/project/platformdownload.php?group_id=227674 Download the Latest CMock Release] * [http://sourceforge.net/forum/forum.php?forum_id=822277 Get Help On The Help Forum! ] * [http://sourceforge.net/forum/forum.php?forum_id=822276 Submit Or Request Advice On The Open Forum! ] * [https://apps.sourceforge.net/trac/cmock/report/1 Submit A Feature Or Bug ] Automatically generated mock objects allow easy, thorough test coverage in Test-Driven Development and provide the means to efficiently execute Feature-Driven Development techniques such as Presenter First and Conductor First. [http://en.wikipedia.org/wiki/Presenter_First Presenter First] is a technique often used for creating well-tested Graphical User Interfaces. Conductor First is a technique useful for embedded systems software development (see [http://atomicobject.com/pages/Embedded+Software#MockingEmbeddedWorld "Mocking the Embedded World"]). The CMock framework is a set of [http://www.ruby-lang.org Ruby scripts] and relies on [http://rake.rubyforge.org/ Rake], Ruby's Make-like facility. The auto-generated C code produced by CMock makes use of the C unit testing framework [http://embunity.sourceforge.net Unity] and can even optionally work with exceptions via the [http://cexception.sourceforge.net CException project]. CMock is easily configurable by tweaking [http://www.yaml.org/ YAML] files. It comes with Ruby/Rake build examples for arbitrary toolchains, by simply modifying or creating a new YAML file for the target toolchain compiler, linker and simulator. We have included YAML configuration files for GCC, and IAR Embedded Workbench for ARM (both v4.x and v5.x). You can try out the IAR toolchain integration with either the full version of IAR EWARM or the 32kB Kickstart Edition which is available for download on the [http://iar.com/website1/1.0.1.0/68/1/index.php IAR website]. == Helpful Information == * EclipseIde -- Eclipse IDE Integration * YamlConfig -- CMock YAML Configuration File Format * CmockTips -- CMock and Pointers and Structs