I have been involved with two classes that used automated testing in different ways, and in both cases is was an excellent idea that was generally well received by students.
One was a class on compilers, which naturally encouraged the use of regression-testing because most assignments were to write a piece of software with specific functionality. In this class, every assignment had two sets of detailed regression tests: one was provided with the assignment to be used during development. The other was kept secret and revealed only when the assignment was returned. Grades were a mixture of the two sets of results: the first batch was "easy points" that everybody was expected to get, the second set was the real differentiator demonstrating that a student's solution was sufficiently general and deep.
The other class was a large (300+ student) artificial intelligence class, where automated testing of homework was introduced in order to lighten the grading load and allow the TAs to spend time on small-group tutorials instead. In this class, all of the homework was done through the automated system, including both coding and non-coding questions (e.g., numerical calculations, multiple choice), and students could submit their answers, check if they were correct, and resubmit again and again until their got it correct. As such, homework was viewed as "required practice" and everybody was expected to eventually get all of the questions correct, though we didn't care when. The grades for the class then came almost entirely from quizzes, exams, and projects, with the homework percentage used as a multiplier on the total (well, technically it was multiplication of a complex formula that essentially amounted to: "If you blatantly ignore the homework, we'll drop you a letter grade").
So in sum: automated testing can be an excellent solution and I think more classes should adopt it. It requires a bit more up-front investment, but can pay off both in terms of time and in terms of pedagogical value. How exactly you design it and integrate it depends on the goals, as illustrated by these two examples, and I'm sure there are many more.