Is there any open source tool to verify segwit transaction without publishing it?
You can use the testmempoolaccept RPC command if you're spending an existing output.

But setting up a regtest to make fake transaction is preferable.