I have a periodical celery job that is supposed to run every night at midnight. Of course I can just run the system and leave it overnight to see the result. But I can see that it's not going to be very efficient in terms of solving potential problems and energy. 
In such situation, is there a trick to make the testing easier?
To facilitate testing you should first run the task from ipython to verify that it does what it should. 
Then to verify scheduling you should change the celerybeat schedule to run in the near future, and verify that it does in fact run.
Once you have verified functionality and schedule you can update the celerybeat schedule to midnight, and be at least some way confident that it will run like it should.
testing celery job that runs each night