How i can interact with real platforms in test mode?

Hello guys i have questions and i need help to solved :anguished:

If i wanna create a smart contract that interact with another contract like uniswap

¿ what i need to do to test that interaction in test mode ?
¿ i need to do a fork, deploy and then interact with them ?

i dont have another idea to interact with a platform running in a mainet to test things, because if i deploy my smart contract in test mode and i need for example USDT, in test mode i dont know how to get it, so if i dont have USDT in test mode i cant interact with the smart contract that i need

this is a existential question for me right know, i know how to create smart contracts and how to interact with anothers but in a real case how exactly i can interact with another smart contract that has deployed in mainet for example : pancakeswap or compound :anguished:

sorry for my bad english, and thanks for read :heart: