Coming from other unit test frameworks (like Python's unittest), I've found the built in assert macros that come with svunit to be a little counterintuitive (`FAIL_IF instead of `ASSERT_EQ) and I was also surprised that they don't print out the expected vs. actual values in an error message when they fail.
I find myself defining my own macros like this and using these instead:
`define ASSERT_EQ(exp,act) `FAIL_UNLESS_LOG(exp === act, $sformatf("Expected: %0d Actual: %0d", exp, act));
`define ASSERT_STR_EQ(exp,act) string stre, stra; stre=exp; stra=act; `FAIL_UNLESS_LOG(stre.compare(stra) == 0, $sformatf("Expected: '%s' Actual: '%s'", stre, stra));
I think it would be useful for something like these to be included in the svunit code, along with ones like `ASSERT_TRUE/FALSE, `ASSERT_NULL/NOTNULL, etc.