It is similar to ASSERT, but expression gets evaluated even in release mode (therefore you do not lose desired side effects - e.g. you can use CHECK to test the return code of some routine. If you would do it with ASSERT, routine would not get called in release mode).
I guess the simple thing to do is #undef CHECK before including your unit testing stuff.
Mirek
P.S.: Unit testing is on my radar for future U++ development, perhaps you could share your opinions in develeopment forum...