Are you doing something wrong? I do not think so.
Do we really need unit test controllers? I do not. Maybe I should. It seems like a lot of work.
If I use WebTestCase for testing controllers, will this be considered Unit Test? Or is it already an integration test? WebTestCase will be an interesting approach to testing controllers if any significant output is detected; for example, detecting an error when calling / some / specific / path.
Suppose you made me test my controller, how would I test it? That's cool. You will probably need to initialize part of the application environment in order to do something worthwhile.
In most articles / books, you need to define your tests before starting coding. I may have tried this, but I'm usually too impatient. This seems to interfere with rapid prototyping, but perhaps defining unit tests is a way to quickly prototype.
I found that deciding what to test with PHP is a problem. I think you need to fight. If it is critical that the method returns a value of a particular type, then check for this. If a lot of things happen when you instantiate an object, you can also check this out.
In general, what I am doing - right or wrong - is to get everything to work, and then create basic tests, and then add tests as needed based on any problems I encounter. The idea is to never have a problem with repetition, and each test ensures that the application behaves the same throughout its life cycle.
As for the features, I am using the Zend Framework, but it will be similar to CodeIgniter. I also use SimpleTest (but with my own class wrapper). I can or cannot model unit test, and I have never implemented tests for controllers or views; It seems like too much work and too little good. Most frameworks crash early, and therefore the problems are usually obvious. But any common library code makes easier goals and errors here - especially logical errors - harder to detect. Set up your tests to make sure everything works as expected so that your system-specific code encounters several problems.