In tree tests (vs. Tempest-based tests) are tests that are written inside the Neutron repository. Most tests also run at the gate (and must pass in order for new patches to be merged). There are currently 3 kinds of in tree tests. This page will describe the purpose of each test type and will also contain documentations and "best practices" when approaching to write new code for Neutron (which will usually follow writing new tests before the code is merged).
These kind of tests normally import specific code functions directly and run them to make sure their return values are valid, they call expected functions, etc.
These kind of tests normally check whole processes and interaction with the operating system.
These kind of tests are currently being developed. They intend to check Neutron as a whole - make sure that the entirety of Neutron functions as expected, without other components of OpenStack (meaning they will run without Nova, Keystone, ...)