FINALMENTE ACHAMOS A SOLUÇÃO 426 PÁGINAS SOBRE RSPEC EXCELENTE FONTE TEÓRICA TESTE DE VIEWS TESTE DE CONTROLLERS TESTE DE MODELOS sábado, 15 de setembro de 12
#USE MOCKS APENAS QUANDO NECESSÁRIO
CONTEXT
"WHEN
NOT
FOUND"
#
SIMULATE
A
NOT
FOUND
RESOURCE
RESOURCE.STUB(:WHERE).WITH(:CREATED_FROM
=>
PARAMS[:ID]).AND_RETURN(FALSE)
BEFORE(:EACH)
DO
END
...
IT
{
SHOULD
RESPOND_WITH
404
}
END sábado, 15 de setembro de 12
#DRY COM SUBJECT
SUBJECT
{
ASSIGNS("MESSAGE")
}
#CORRECT
#WRONG
IT{ASSIGNS("MESSAGE").SHOULD
MATCH
/RESOURCE
NAME/
}
IT{ASSIGNS("MESSAGE").SHOULD
MATCH
/BORN
IN
CRATO/}
IT{ASSIGNS("MESSAGE").CREATOR.SHOULD
MATCH
/ERNEST/
IT
{
SHOULD
MATCH
/BORN
IN
CRATO/}
IT
{
SHOULD
MATCH
/BORN
IN
CRATO/} sábado, 15 de setembro de 12
#SHARED EXAMPLES
SHARED_EXAMPLES_FOR
"FINDING
EVENT"
DO
IT
"ASSIGNS
EVENT"
DO
ASSIGNS(:EVENT).SHOULD
==
@EVENT
END
IT_SHOULD_BEHAVE_LIKE
"FINDING
EVENT"
END sábado, 15 de setembro de 12
#DRY COM SUBJECT
SUBJECT
{
ASSIGNS("MESSAGE")
}
#CORRECT
#WRONG
IT{ASSIGNS("MESSAGE").SHOULD
MATCH
/RESOURCE
NAME/
}
IT{ASSIGNS("MESSAGE").SHOULD
MATCH
/BORN
IN
CRATO/}
IT{ASSIGNS("MESSAGE").CREATOR.SHOULD
MATCH
/ERNEST/
IT
{
SHOULD
MATCH
/BORN
IN
CRATO/}
IT
{
SHOULD
MATCH
/BORN
IN
CRATO/} sábado, 15 de setembro de 12
#USE CONTEXTOS CONTEXT
"WHEN
LOGGED
IN"
DO #CORRECT #WRONG IT
"SHOULD
HAVE
200
STATUS
CODE
IF
LOGGED
IN"
DO
RESPONSE.SHOULD
RESPOND_WITH
200
IT
{
SHOULD
RESPOND_WITH
200
} END END sábado, 15 de setembro de 12
#USE DESCRIÇÕES CURTAS CONTEXT
"WHEN
NOT
VALID"
#CORRECT
#WRONG IT
"SHOULD
HAVE
422
STATUS
CODE
IF
AN
UNEXPECTED
PARAMS
WILL
BE
ADDED"
DO
IT
{
SHOULD
RESPOND_WITH
200
} END sábado, 15 de setembro de 12
#UM TESTE POR IT IT
{
SHOULD
RESPOND_WITH_CONTENT_TYPE(:JSON)
}
#CORRECT
#WRONG IT
"SHOULD
CREATE
A
RESOURCE"
DO IT
{
SHOULD
ASSIGN_TO(:RESOURCE)
}
RESPONSE.SHOULD
RESPOND_WITH_CONTENT_TYPE(:JSON)
RESPONSE.SHOULD
ASSIGN_TO(:RESOURCE) END sábado, 15 de setembro de 12
RERÊNCIAS HTTP://WWW.SLIDESHARE.NET/ANDREA.REGINATO/RSPEC-‐2-‐BEST-‐ PRACTICES THE
RSPEC
BOOK HTTP://MARAKANA.COM/S/ TECHTV_VIDEO_SERIES_EFFICIENT_RAILS_TEST_DRIVEN_DEVELOP MENT_CLASS_1_OF_6,191/INDEX.HTML HTTP://BLOG.CARBONFIVE.COM/2010/10/21/RSPEC-‐BEST-‐ PRACTICES/ HTTP://BLOG.THEFRONTIERGROUP.COM.AU/2012/06/MY-‐NEW-‐ FAVOURITE-‐RSPEC-‐PATTERN/ sábado, 15 de setembro de 12