Hello, my name is Dmitry Karlovsky and I ... love to drive all kinds of strange game. Beware, after this talk you may have a strange, but irresistible desire to remove all unit and e2e tests from your project, because they require a lot of resources, but give little profit.
โ TechLead Conf 2020. , .
- 25
- 15
? !
, . , , . , . . , , , .
? !
- ,
, .
? !
.
? !
:
, .
, , , , .
:
, .
:
, .
, .
()
โ , . , , .
" " "E2E ".
()
โ . .
, " " " ".
()
โ . , , .
" ". " ", , โ , .
, , , .
, . - .
, , .
, .
. . . , .
:
. , , .
sum( 1 , 2 )
function sum( a , b ) {
logger.trace( a , b )
return algebra.apply( '+' , a , b )
}
, .
new Sum( algebra , logger ).exec( 1 , 2 )
class Sum {
constructor(
private algebra,
private logger,
) {}
exec( a , b ) {
logger.trace( a , b )
return algebra.apply( '+' , a , b )
}
}
( ) .
:
B
. 10 , 10 . 10 , .
. :
, . , :
, , .
:
, . , .
:
, , . , .
, , , .
:
- . .
:
. , . , . , , , 100. , TestBed.
10 .
:
, ..
- ""
, , JIT-. .
:
, - - .
DD
, B
. , , , , ( ) ( ).
: ?
โ , .
, , , . , , , , .
: !
, , , , .
, MAM , , . . , , .
:
, , , .
. โ , . โ , . .
:
, , , . , , .
, โ , , . , .
:
, . ..
const app = new Todomvc({ context })
const title = guid()
const rowsPrev = app.rows()
app.NewTitle().value( title )
app.NewSubmit().click()
assertEqual( app.rows()[0].title() , title )
assertEqual( app.rows().slice(1) , rowsPrev )
assertEqual( app.NewTitle().value() , '' )
, , . , . , , .
, . , , .
:
...
- NodeJS
: .
:
..
:
, , ..
- ,
- ,
...
, - . , .
. . .
, ..
? | |
---|---|
+ | |
+ | |
+* |
.
...
- web-
- 5
- 300
.
, .
. , , , .
Kent Beck, TDD, , "" , .
:
, .
:
, . , . .
:
. , . . : , .
:
, , , , , . , .
?
- TDD โ
- nin-jin/slides โ
- habhub.hyoo.ru โ
- _jinnin โ
- nin_jin โ
- 1 โ .
- 2 โ - , , . . ยซยป ...
- 3 โ , , , , .
- 3 โ , .
- 3 โ , ?
- 4 โ , . 2 .
- 4 โ , - .
- 5 โ , , .
- 5 โ .