I’m new to Rails (it’s my 2nd day reading the Agile development with Rails book) and I’m kinda confused with the tests.
So let me get this straight: Withunit testing, we see if our model is working as it should (as our app’s specifications demands) and Rails provides us with all the unit testing features just to make our lifes easier, so we don’t have to manually enter values to see if they’re accepted or not. Is that right? And we’re doing these tests to save ourself from future work for fixing bugs in our code etc. With unit testing we can pre-emptively fix our code’s possible bugs, right from the beggining.
Unit testing seems clear, but Functional testing is a little confusing to me: Why are we doing this? Where does it helps us? I know that we’re testing for example if there are certain elements in our rendered views, for example: assert_select ‘#columns #side a’, minimum: 4 but how could we not have these elements in our views? Why are these kinds of test useful and not just extra-code to write? To me it seems more like a security-measure (checking if certain links appear on a page) more than a test to see if something is wrong. However, judging from the file names, functional testing is about the controller, right?
Thanks in advance