Force NOW to return new timestamps without committing the transaction
I think that that is questionable practice. Any way in which your tests differ from the productive environment increases the danger of testing the wrong thing.
Anyway, you could not use now(), but a different function, say mytimestamp(). On your test system, the function is defined as
CREATE FUNCTION mytimestamp() RETURNS timestamp with time zone
   LANGUAGE sql VOLATILE AS
'SELECT clock_timestamp()';

In the production database, you use
CREATE FUNCTION mytimestamp() RETURNS timestamp with time zone
   LANGUAGE sql VOLATILE AS
'SELECT current_timestamp';

Then you get what you want.  The only difference is that current_timestamp (or now(), which is the same thing) is STABLE, not VOLATILE, which may make queries behave differently (or not, if the function is inlined). But that's exactly the kind of thing that I warned you about in the beginning.