There's no way to perfectly emulate any phone. Running Nexus 5 emulator would bring you a 'device' with some proper values like screen coordinates or Android system version, but it won't make you sure that if it works on an emulator of Nexus 5, it would work also on the real device.
As I know, OnePlus is using Cyanogen OS (so it's not the same as you would find on Nexuses or Samsung devices), so one opportunity is to find a cheaper option phone with this custom Android system like Willey Fox brand devices.
Also, check your app on Genymotion emulator - it also uses a custom Android system based on CyanogenMod, but as you already know, the best way is to check it on a real device.
Hope it will help