A smart runner is a test runner that can make inferences about what tests it should run based on what file you're current editing, or what what the uncommitted changes are, or any other number of factors.