It appears as though Ropsten still has a limit of 4.7m gas while mainnet is almost 8m. This makes testing for real-world dapps difficult.
Why is it that ropsten and mainnet are not in alignment with the block gas limit?
Miners determine the block gas limit, so its not a fixed number. So it seems like miners running on Ropsten aren't changing the block gas limit. I believe the Rinkeby block gas limit is at ~7M, so perhaps you can try testing on there? Or you could using ganache-cli and manually set a block gas limit.
I had the same issue around the same time of OP's question. Dani from Infura was kind enough to point me at the Ropsten's Gitter channel --
https://gitter.im/ethereum/ropsten
To my delight, soon after I chatted it in Gitter -- of course it could just be a pure coincidence -- Ropsten gas limit was raised to 7M, until it came down to 4.7M a few days ago.
So the point of the story is: Ropsten is still very opaque and unpredictable.