function broadcast() external;
function broadcast(address who) external;
function broadcast(uint256 privateKey) external;
Using the address that calls the test contract or the address / private key provided as the sender, have the next call (at this call depth only) create a transaction that can later be signed and sent onchain.
function deploy() public {
cheats.broadcast(ACCOUNT_A);
Test test = new Test();
// this won't generate tx to sign
uint256 b = test.t(4);
// this will
cheats.broadcast(ACCOUNT_B);
test.t(2);
// this also will, using a private key from your environment variables
cheats.broadcast(vm.envUint("PRIVATE_KEY"));
test.t(3);
}