Reading a bit about testing Elastic, 2 options are possible:
Dedicating an index in the cluster used in production and setting up an in memory cluster.
The first option is good mainly because it allows testing IRL behaviour;
the latter is good mainly because you don't mess with things in production for testing purposes.
There is also the option of setting up a remote cluster for testing, but have yet to see it.
I'd love to hear what is the practice you are using - first/second/both/third?
What are your main pros and cons?