Testing is easier on the single row, because when you call it interactively it returns the row so you can see it. The other way requires just a bit more code. In multi-modal code I will often give it the ability to do both and a flag to supress the resultset if needed. If these cases I build the output from the output variables so there is no possibility of there being a different answer from either.
CEWII