Thanks for your time, Alex! ;)
It was very helpful.

Regards,
Askar

On Fri, Jul 31, 2015 at 10:21 PM, Alex Chaffee <[email protected]> wrote:

>
>
> Sent from my iPad
>
> On Jul 30, 2015, at 8:10 PM, Askar Karasaev <[email protected]>
> wrote:
>
> Hi Alex,
>
> I thought we should follow DRY concept so that I won't test one thing in
> more than one method...
>
>
> Nope. The threshold for DRY in tests is higher, since tests have to be
> readable and since their targets can shift out from under them due to
> refactoring and normal code growth. Some people say tests should be MOIST
> :-)
>
>
> By "unit test", do you mean the default test of Rails?
>
>
> No, test and spec are synonymous. A spec is a test.
>
> A unit test tests a single unit in isolation. Even Rails model tests are
> not pure unit tests since they depend on a database, but they come close.
>
> Back in the day, the big distinction was between unit test and integration
> test -- the latter tests how a bunch of units work together but doesn't
> exercise every case of every unit; that's what unit tests are for.
>
> Basically, a unit test tests the code; an integration test tests the code
> working together with other units; a functional test tests the product.
>
> The terms and concepts are slippery but you'll get more comfortable with
> them with experience.
>
>
>
>
> Thanks,
> Askar
>
> On Thu, Jul 30, 2015 at 1:19 AM, Alex Chaffee <[email protected]> wrote:
>
>> On Tue, Jul 28, 2015 at 8:06 PM, Askar Karasaev
>> <[email protected]> wrote:
>> > As I understood, I can test same things in models and feature specs, so
>> I'm
>> > wondering which is better? which is effective?
>>
>> Both.
>>
>> If I understand correctly, feature specs use Capybara which takes a
>> relatively high-level pass through the app. It tests user input, HTML
>> output, error handling, that sort of thing. Model specs are focused on
>> a single object, so they test a wider range of scenarios, call
>> individual methods, require much less setup, are faster, etc.
>>
>> I recommend a pyramid of test coverage: the base is unit tests
>> (including model specs) -- make lots of those, fewer controller tests,
>> and even fewer integration tests (including capybara).
>>
>>  - A
>>
>> --
>> Alex Chaffee - [email protected]
>> http://alexchaffee.com
>> http://codelikethis.com
>> http://twitter.com/alexch
>>
>> --
>> You received this message because you are subscribed to a topic in the
>> Google Groups "rspec" group.
>> To unsubscribe from this topic, visit
>> https://groups.google.com/d/topic/rspec/FJcS2697KHA/unsubscribe.
>> To unsubscribe from this group and all its topics, send an email to
>> [email protected].
>> To post to this group, send email to [email protected].
>> To view this discussion on the web visit
>> https://groups.google.com/d/msgid/rspec/CAMf%3DvNoQXZYeOG2R0TmMQzNGXrS2jGDYghnM4XdWO%3D6qcmFeVw%40mail.gmail.com
>> .
>> For more options, visit https://groups.google.com/d/optout.
>>
>
> --
> You received this message because you are subscribed to the Google Groups
> "rspec" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To post to this group, send email to [email protected].
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/rspec/CAP4%3DRx-hNe%3Dg3VXiqrFBvmwZ4Wj3rOMcELtjr4OVe5ntkBkC1w%40mail.gmail.com
> <https://groups.google.com/d/msgid/rspec/CAP4%3DRx-hNe%3Dg3VXiqrFBvmwZ4Wj3rOMcELtjr4OVe5ntkBkC1w%40mail.gmail.com?utm_medium=email&utm_source=footer>
> .
> For more options, visit https://groups.google.com/d/optout.
>
> --
> You received this message because you are subscribed to a topic in the
> Google Groups "rspec" group.
> To unsubscribe from this topic, visit
> https://groups.google.com/d/topic/rspec/FJcS2697KHA/unsubscribe.
> To unsubscribe from this group and all its topics, send an email to
> [email protected].
> To post to this group, send email to [email protected].
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/rspec/912D3305-28B7-4617-80B2-0A9C0E92C2DB%40gmail.com
> <https://groups.google.com/d/msgid/rspec/912D3305-28B7-4617-80B2-0A9C0E92C2DB%40gmail.com?utm_medium=email&utm_source=footer>
> .
>
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups 
"rspec" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/rspec/CAP4%3DRx-R4v5Gpj2yvkXYXaMpyH01ObrXhZ6Yn4Xb89HB8ThpYw%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to