Profile

Rafael Reimberg @rafael37


About Me

-

Proposals

Compreendendo o funcionamento do mock

No dia a dia do desenvolvimento é muito comum utilizarmos o mock em nossos testes unitários. Ele é realmente muito fácil de utilizar e por vezes nem pensamos em como é que ele funciona por baixo dos panos.


O objetivo de papo é explorar os conceitos (Duck Typing) e design patterns (Monkey Patch, Decorators, Métodos Especiais) implementados pelos mocks e ressaltar os pontos fortes dessas abordagens dinâmicas e Pythonicas.

Criando um serviço gRPC com Python

O gRPC é uma forma moderna de integrar sistemas com contratos de APIs bem definidos e fáceis de compreender.


 


Algumas das vantagens desse tecnologia são:


    * Roda sobre HTTP/2


    * Possui contratos fáceis de ler por um ser humano (protobuf)


    * Suporta as principals linguages de programação (inclusive Android Java e Objective-C)


 


Neste papo será demonstrado como criar um servidor gRPC em Python seguindo os seguintes passos:


    1. Definição do contrato protobuf;


    2. Criação dos stubs baseados no protobuf;


    3. Implementação de um servidor utilizando os stubs;


    4. Implementação de um cliente gRPC;

Não é magia, é tecnologia

Trabalhando com testes unitários você provavelmente já usou mocks e disse: "Uau! Isso é muito mágico!".


Alterar o comportamento de objetos é muito legal, mas está bem longe de ser magia, então a proposta dessa palestra é explorar os conceitos e design patterns implementados pelos mocks e ressaltar os pontos fortes desse aspecto dinâmico de Python.

Pytest + Docker: um jeito fácil de ter testes de integração

Já pensou em ter um ambiente de testes fácil de montar?


Que possa rodar tanto na máquina do desenvolvedor quanto num ambiente de CI?


Pois nessa palestra vamos ver uma solução muito elegante para isso utilizando containers docker e fixtures do pytest para configurar esse ambiente e executar testes sem mocks na comunicação com serviços externos.


Tópicos:


    * Testes automatizados


    * Pytest


    * Docker