I don't have too much insight on that either, so someone can chime in if they know. But I think in essence, unit test is a way to exercise your code by providing some pre-determined parameters. So for example, if you have a function foo takes a boolean as input, then you might have a unit test case that will call foo twice, one with input true, the other time with false. Then you will need to have a unit test manager or something that will call all the test cases to exercise your code. Back to the foo case, by calling it twice with different parameters, hopefully it will cover all the code paths in your foo function. This way, say there is some API used in foo whose functionality has changed over time, it will probably cause your foo to fail, then by unit test the case for foo, you will catch that.
So I guess you need to implement some sort of framework that can visit all the test case, and maybe gather test result and report result. Then the client of of the unit testing needs to come up with test case that's gotten called by the framework, and the test case should execute the code paths you wish to test.
Regards,
lee