3 ms·
These tests would send a red flag if they failed, but they aren't good as TDD tests. First, they are tied to a current time's context. Maybe next year, IMDB is
by bdclimber14 16y ago
These tests would send a red flag if they failed, but they aren't good as TDD tests.
First, they are tied to a current time's context. Maybe next year, IMDB is no longer a good source for movie information, and it's so bad that it's on page 2. It could happen. In theory, your test cases should be consistent.
Secondly, the TDD process is always to write code to pass tests. Well it's pretty easy to write code to return IMDB, but it's really hard to write test suite, that when coded against, would produce Google. That test would look like:
search_on("avatar").should_return("www.imdb.com") if is_really_good_result(imdb)
Once you are Google, then you should have these tests to make sure things keep working. However, I think it is really hard (in a bad way) to do TDD on hard problems.
- tooky 16y agoYou can't test for a particular outcome given an unknown set of input data. If you have a known snapshot of data, you can set expectations for how you want your system to behave under those circumstances. If you create a world where IMDB would rank highest for your indexing algorithm for the term "avatar", then you can expect that when you run a search it will be returned as the first result.