Kitchen tests a cookbook locally, using a .kitchen.yml file generated when the chef generate cookbook was originally run and then manually updated thereafter.
Once the .kitchen.yml file is up to date, I can run kitchen create (once) to create a VM with Vagrant, then kitchen converge to update that VM as the recipe changes.
If at any point I want to check state manually, use kitchen login.