Ola pessoal, depois de muito tempo sem tempo (e ideias) para postar, eu finalmente tive uma boa ideia. Voce ai, que programa em C ou ate mesmo ja em Python, como voce testa seus programas? Fica conferindo a saida do terminal pra ver se esta como deveria? E quando o seu programa se torna dificil de testar visualmente? E um problema ne? Apresento a voce a SOLUCAO para os seus problemas: testes automatizados.Como eu faco isso tio?E simples! Usando bibliotecas proprias para testes, criamos nossos testes baseados em como o programa deve funcionar. Eles podem ser escritos depois do proprio codigo ou antes. A pratica de escrever testes ANTES e extremamente util. Com ela voce ja define como sera a interface, a nivel de codigo, das suas classes e funcoes, e precisa codificar somente o suficiente para passar nos testes criados.Falar e facil ne? Faz ai, quero ver!Entao ta. Mostrarei um exemplo em Python, por ser simples, mas existem bibliotecas de testes para Java, C, C#, Ruby, etc... basta procurar. O intuito aqui nao e comparar as ferramentas de testes de linguagens, mas sim mostrar como testes automatizados podem facilitar (muito) a sua vida. Suponhamos que temos o seguinte codigo a ser testado:[python]class Calculadora(object): @staticmethod def soma(num1, num2): return num1 + num2[/python]Podemos escrever os testes da seguinte maneira:[python]import unittest # biblioteca responsavel pela suite de testesfrom should_dsl import * # biblioteca que disponibiliza matchers mais legiveisfrom calculadora import Calculadora # importando a nossa classe a ser testada class CalculadoraTest(unittest.TestCase): def testa_soma(self): calculadora.soma(1,1) |should| equal_to(2)if __name__ == '__main__': unittest.main()[/python]Para rodar os testes e so executar o arquivo que os contem. Nao e LINDO? Este e um caso muito simples, mas existem casos de programas complexos que seria completamente inviavel ficar testando no "olho". Os testes automatizados te dao um feedback instantaneo (dependendo do que esta testando e da quantidade de testes feitos) da aplicacao. Em pouquissimo tempo voce sabe se aquela modificacao que voce acabou de fazer funciona ou nao, com o simples uso de 1 comando e sem dor de cabeca.Python e lindo! Do que eu preciso para criar aplicacoes com testes no meu PC? *-*Primeiramente, precisa do Python instalado, claro. A biblioteca unittest ja esta incluida por padrao juntamente com o interpretador. Para instalar a biblioteca should_dsl e so executar: [sudo] pip install should_dsl Ou, se voce o easy_install: [sudo] easy_install should_dsl Agora voce ja pode comecar a parar de ficar imprimindo coisas na tela para "testar" e comecar a fazer isso de verdade! Quando voce comecar a usar, nunca mais vai querer parar! E viciante e ajuda demais. Gostei, onde encontro mais informacao sobre testes em Python? Na propria documentacao do UnitTest: http://docs.python.org/library/unittest.htmlNo tutorial DiveIntoPython: http://diveintopython.org/unit_testing/E no Google. :DBom, por enquanto e so isso amigos... ate a proxima! Ola pessoal. Hoje mais cedo, um amigo (Pedro Henrique) me veio perguntar criar propriedades para objetos em Ruby e entao eu decidi fazer esse post para ajudar a galera que ta comecando com a linguagem. Criar propriedades em Ruby nao e muito complicado, mas para a primeira vez exige um pouco de