One thing that discouraged me "Test-driven development is difficult to use in situations where full functional tests are required to determine success or failure. Examples of these are user interfaces, programs that work with databases, and some that depend on specific network configurations. TDD encourages developers to put the minimum amount of code into such modules and to maximise the logic that is in testable library code, using fakes and mocks to represent the outside world."
A good portion of interconnected web apps are API calls, and database updates/queries. For the type of programming I'm learning/doing now (web programming in ruby on rails), the tests are never sufficient to test anything. I fire up a browser and get a user eye view of what's happening while looking at the log. Maybe that's old school thinking but it's working well for us as this point.
Would appreciate any tips to help us be more efficient of course (victusmedia.com)
I had the same issue with TDD in Rails, where my functional tests were so brittle that they took more work than they saved, and my unit tests were so simple that I wasn't getting anything useful out of it.
What I really wanted to know was "will my site work," and I found Cucumber+Webrat to be an efficient way of being sure of that. I TDD Cucumber scenarios now, and it makes me more confident without feeling like I'm spending all my time fighting with a testing framework.
A good portion of interconnected web apps are API calls, and database updates/queries. For the type of programming I'm learning/doing now (web programming in ruby on rails), the tests are never sufficient to test anything. I fire up a browser and get a user eye view of what's happening while looking at the log. Maybe that's old school thinking but it's working well for us as this point.
Would appreciate any tips to help us be more efficient of course (victusmedia.com)