Though I didn't receive my CNC yet, I've been doing quite a bit of research on how to generate G-code, especially since I am working on OSX wich makes it way harder.
The best solution I have found is to use Pycam, an open-source software to generate g-code from STL files. Unfortunately, Pycam is quite a hassle to install on mac, and after half a hour of dependencies download in the command line, I was starting to get bored.
I used a software named Winebottler which turn .exe files into self-contained apps. On the paper, its a great thing but it only works about one out of three times, for reasons that are totally unknown to me. But since I had times I gave it a try and it works! You can download it here (Xquartz is required to make it work).
I don't know whether or not its a problem in the original version but I don't seem to be able to open binary STL files. But I personally use Autocad wich gives you the choice when you export a model (for information about your CAD software, look here).
I still haven't found a proper G-code viewer on mac (see edit, I have now). I hoped that I could manage to bottle OpensCAM the same way I did for Pycam but it didn't worked.
If you have any questions, I'll be happy to provide support!
EDIT: If you want to do 2.5D, Partkam may be a way easier solution. It supports following path, drilling and pocketing, and works with any OS since it is Flash! Really easy to use, opens SVG.
EDIT 2: On a suggestion from Hans Gerwitz, here is a really nice tool for previewing G-code, Pleasant 3D .