J B Rainsberger Integrated Tests Are A Scam HD

preview_player
Показать описание
Рекомендации по теме
Комментарии
Автор

This talk definitely goes to my Pantheon of the greatest talks I have ever experienced

Cry
Автор

This talk is very helpful! Watch it twice. Then come back six months later and watch it a third time. You will learn something new each time.

tjalferes
Автор

As soon as he was talking about interfaces the first thought in my head was clean (hexagonal, onion or whatever you wanna call it) architecture.

rahem
Автор

Spoiler alert, he eventually says you need a few integration tests.

MarkArcher
Автор

I don't understand the claim to get rid of the combinatorial problem. In one approach the measure is path coverage, in the other it is equivalent classes. Comparing apples to oranges.

And he doesn't even mention the downside of tightly coupling tests to implementation, instead of testing actual business logic specifications.

In the end it always depends on multiple aspects whether integrated or isolated tests are more effective.

PeterZeller
Автор

Curious how he deals with private and protected methods.

kaibe
Автор

Seems like the "Contract Tests" that he is referring to at 37:02 are just the "Isolated Tests" of the next layer at least I don't see any difference. Because the next layer obviously also implements some sort of an interface just like any other layer and probably has its own set of collaborators that it depends on hence would also require "Test Doubles", etc. Unless the next layer is the last layer which is talking to the outside world (a.k.a on the edge of the ring) which would require "Integration Tests" So I don't understand the notion of "Contract Tests" or the need to outline them differently as if they are something special.

poladmirzayev
Автор

it is impressive how this is the representation of the first conference in 2009 and it was 10 years ago, but still when I say this I just found a colleague that knows it, most of the colleagues in many different companies doesn't even know about it

Savatore
Автор

Wonderful talk. This video changed my concept of integrated tests.

BishalPaudel
Автор

I have experienced with integration tests, bugs are hard to find where they fail exactl, ofc less preasure on how the code is designed for sure, less test coverage and take more time to write as well

daffytv
Автор

Interesting talk, I wonder if you use pure values and no side effects inside your happy zone then you wouldn't even need these mocks/stubs and contract / expectation tests instead you will have simple unit based tests all the way through to the boundaries of your system. An imperative shell around a functional core.

aszen
Автор

look, if you need to unit-tests to clean up your design, then go for it. and if you insist upon hating code which cannot be unit-checked, then you have my blessing.
... BUT ...
i don't need tests to write clean code. i need tests to perform checking. JB said it himself: mocks don't always behave like the things they stand in for and these are precisely the sorts of bugs that integration-tests catch.

even code which is unit-checkable should be checked with integration-tests.

sweetjonnie
Автор

So what do you do in a program like Ruby where there are no such things as interfaces?

fooked
Автор

I agree that using an interface to the items that are external to our program is needed; however, I don't understand the necessity of having interfaces between items that are within our code.

stratman
Автор

this guy is a savage, made me chuckle a couple of times

Whyoakdbi
Автор

This beautiful bastard is a legend! Thank you, sir!

AlexanderMichelson
Автор

it seems pretty nice on the picture, unless J B interconnects nodes lying on same horizontal lines. Then we return back to n!

wuvdddr
Автор

15 minutes into this video he argues as follows:
1. 100% tests passed (i.e. unit/isolated tests) but we found a mistake
2. that encourages us to write more integration tests
3. which allows us to design more sloppily
4. which provides more opportunities for mistakes
point 3. above assumes the thing he wants to prove, which is the very definition of a circular argument.

valentintanase
Автор

The problem is he assumes that people and environment where people are working are ideal

viacheslavromanov
Автор

I'd call that a co-morbid spiral :D

aaronfisk