Simulate with Arduino Uno in Proteus, then port to ESP32. Similar GPIO behavior, but obviously not identical.
There are two ways to simulate ESP32 in Proteus depending on the library version you download: esp32 library proteus best
MODELS folder, select all files, and paste them into the MODELS folder inside your Proteus installation directory.