First you don't need to write such library because most probably it already exists. What you need is some embeded RabitMQ implementation so that you can potentialy perform a more (integrated) end to end type of test. Just googling I found one such https://github.com/AlejandroRivera/embedded-rabbitmq
With regards of point number 2 this is entirly separate question that is not valid only in the context of MQ but in the context of any json based API.
There are enough resources online describing how to design a json schema in such way that it is future proof.
You can google a term named "Schema evolution" it is supported out of the box for Avro. A lot of it can be achieved with json, though not everything.
Here is a very good article about API evolution https://apisyouwonthate.com/blog/api-evolution-for-rest-http-apis
showing how to design your API in such way that you don't need to release new versions for each change.