To support the real-time reporting of test results, TeamCity should either run the tests using its own test runner or be able to interact with the testing frameworks so it receives notifications on test events. Custom TeamCity-aware test runners are used to implement the bundled support for the testing frameworks.
Please, refer to the NUnit Support page for details.
Please, refer to the MSTest Support page for details.
Dedicated test runner is available for MSPec support. Please, refer to the MSpec page for details.
Other testing frameworks (for example, MbUnit, NBehave, NUnit, xUnit.Net, and csUnit) are supported by Gallio and, thus, can provide tests reporting back to TeamCity.
As for coverage, Gallio supports NCover, to include coverage HTML reports to TeamCity build tab. See Including Third-Party Reports in the Build Results.