After reading quite some threads here at StackOverflow, I have come to the conclusion that I should adopt to some form of test driven development/unit test (or at least explore the area).
And since we are talking about c code under Linux, I decided to give check a try (I don't know if this is the right choice but if it's no good I can always try something else later on).
But since this concept of unit test and unit test frameworks is totally new to me, I started out to do some unit test on a really small test code (but I was totally lost anyway and it felt like I was missing something).
This is what I have done so far, I created the following file:
- main.c, a main that only calls a function called my_pow and prints the result.
- my_pow.c, contains the function my_pow.
- my_pow.h
- my_pow_test.c, I figured that I should place the unit code for the my_pow function here.
(So the "normal program" is the main.c, my_pow.c and my_pow.h.)
This is my_pow.c
#include "my_pow.h"
int my_pow(int a, int b)
{
return (a*b);
}
Then I figured that in my_pow_test.c I put something like this:
#include <check.h>
#include "my_pow.h"
START_TEST (test_my_pow)
{
/* unit test code */
}
END_TEST
//do I need some sort off main here that calls test_my_pow?
This is basically the same as in the check manual chapter 3.1, but still not....
Could someone please push me in the right direction?
Thanks Johan
Update: No reason why I tried to use check I just thought I should start somewhere, maybe CUnit is a better choice (I think I would try that as well and then make a educated choice).
Update: Than