rasmus4200
For example, instead of creating one class that does the network call, and processes the JSON response, break these out.
One class does the network call (keep it extremely thin). Dependency inject stuff in if you want. But view this purely as an orchestration.
if (connectionValid) json = makeNetworkCall anotherObject.processJson(json) <- test separately end
Then, in the other plain old data process class, do you heavy off-by-one edge case testing there.
If the first case, the orchestration, I can write tests like "One make the network call if the connection is valid". But that's all that test would do.
I am at the point now where I actually don't even test that. I assume that is going to work, because it is so simple. That and I generally hate mocking. Way too much coupling. Way too hard to refactor.
Where I do test heavy is on the plain old object side, that has no outside ports or connectors. These are just plain old objects.
I agree with some other comments I have ready here. Mocking is a bitch and I generally don't like it. But it's there if I needed it, so I do use it occasionally.
But it has so many downsides I try not to. Instead I separate the orchestrations from the processing. Unit test the processing (in an integration test sort of way), and try to stick to testing the public APIs of my class, so I am free to change the internals without things breaking.
My 2c. Hope that helps.
The book that changed the game
The Automated Tester
What if you don't want to pivot?
It's not about the unit tests
Design in Norway
Viking Laws
Mobile apps are more work than you think
Break through the blocks and win your inner creative battles.
Many books mentioned here are good, this is the only I haven't seen referenced. But this one book really helped me deal with resistance and get stuff done. Seth Godin is a big fan and references it a lot in his material.
Steven Pressfield also wrote 'The Legend of Bagger Vance' and Gates of Fire (Spartan 300 kind of book but way deeper).
Life after Steve
Sometimes you’ve got to make your own experience
Some thoughts on Steve Jobs and Agile
The rise of the generalist
Summarized some of the highlights here if you don't have time to watch:
http://agilewarrior.wordpress.com/2011/05/28/how-facebook-pu...
They're not requirements
The way of the spartan warrior
Production readiness
Crossing the uncanny valley
Questions you'd be crazy not to ask at the start of your next project
We are soft. Our duvet's are too fluffy. And we can't rely on our natural resources forever.
Why you may find your software lacking
As far as feedback, I think the Take a Tour screen is begging for a picture or something to show me at a glance how it works.
I would try to add more pictures to the site as it is currently all text (at least what I saw). Even it is just a piggy bank or something - show me how I am going to save money. Or make me feel the pain.
But I think a picture would really spruce things up.
Good job though. And good luck!
Most classes are so big you can slip in there under the radar.
Dont wait or let some professor tell you can't take a course.
Get the reading material, do the assignments, and learn what you want.
You are not your role
The Drucker Excercise
Deliver something of value every week
http://www.amazon.com/War-Art-Through-Creative-Battles/dp/04...
Talks about resistance, and how it stops most of us from doing what we were meant to do.
Highly recommend.