Link permanente para este artigo: http://ensina.me/coldfusion/whats-new-in-coldfusion-10/
Link permanente para este artigo: http://ensina.me/coldfusion/embrace-futuristic-technologies-with-coldfusion-10/
Link permanente para este artigo: http://ensina.me/coldfusion/deploy-enterprise-ready-applications-with-coldfusion-10/
Link permanente para este artigo: http://ensina.me/coldfusion/coldfusion-10-family/
Link permanente para este artigo: http://ensina.me/coldfusion/build-applications-quickly-with-coldfusion-10/
Mai 17
Estudo de Caso, Programação Orientada a Domínio
Quando falamos de Programação Orientada ao Domínio ou Problema como achar melhor, costuma passar um entendimento meio superficial do assunto.
Então, resolvi escrever de uma forma mais prática sobre o assunto e implementar umas soluções baseadas em Programação Orientada a Domínio.
Para começar vamos definir que teremos uma nova camada em nossa aplicação. E esta camada será chamada de Domain.
Vamos no diagrama abaixo como ficaria nossas camadas de programação.
Na camada Domain ficarão nossos problemas, a ideia é transferir os problemas de implementação da nossa lógica de negócio para a camada de Domínios.
Dessa maneira reduziremos nossos códigos na camada de negócio bruscamente, além de conseguir implementações mais limpas.
Como implementar
Não usaremos framework nenhum e sim, implementaremos nossa camada de domínio com código próprio para entendermos a resolução do problema em si e assim entenderemos muito melhor como funciona esse conceito.
Vamos abordar somente a parte da camada de negócios, não vamos ver consultas em banco propriamente e sim trabalhar com as chamadas e em resultados imaginários. Pois dessa forma conseguiremos um artigo prático e não muito grande.
Vamos começar
Para criarmos nossa prática, vamos criar um cenário de refactoring, onde temos uma camada de lógica e refatoraremos a mesma inserindo o conceito de orientação a domínios.
Link permanente para este artigo: http://ensina.me/coldfusion/estudo-de-caso-programacao-orientada-a-dominio/
Mai 10
TDD com ColdFusion – Parte 3 (Criando um Teste com o MXUnit)
Vamos ver na prática como trabalhar com TDD no ColdFusion.
Caso você não saiba sobre TDD e/ou MXUnit, aconselho a ler primeiramente os seguintes posts:
- TDD – Desenvolvimento Guiado por Testes;
- TDD com ColdFusion – Parte 1 (Instalação do MXUnit);
- TDD com ColdFusion – Parte 2 (Configuração do MXUnit);
- MXUnit – funções setUp() e tearDown().
Para exemplificar vamos criar uma Calculadora com as 4 operações básicas. O ideal para escrever os testes unitários é utilizando um ciclo de Desenvolvimento, tal como:
- Criar o teste;
- Executar o teste;
- Escrever o código propriamente dito;
- Executar os testes novamente e ajustar o código até passarem sem erro;
- Refatorar; e
- Repetir este ciclo.
Link permanente para este artigo: http://ensina.me/coldfusion/tdd-com-coldfusion-parte-3-criando-um-teste-com-o-mxunit/
Mai 10
MXUnit – funções setUp() e tearDown()
Continuando a série de posts sobre TDD (Test Driven Development), vamos explorar os métodos “setUp()” e “tearDown()”.
Na maioria dos frameworks de testes unitários temos esses dois métodos para a configuração do nosso teste:
setUp()
Este método é utilizado no início do processo de teste, ou seja, antes de executar cada teste nós preparamos o cenário com configurações anteriores a execução de cada caso de teste.
tearDown()
Este método é utilizado no final de cada caso de teste, ou seja, ele desfaz o que o setUp() criou.
Vamos ver na prática como utilizá-los:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
<cfcomponent displayname="MeuComponenteTest"
extends="mxunit.framework.TestCase"
hint="Componente exemplo de teste">
<cffunction name="setUp" access="public" returntype="void">
<!--- Instancia o componente que queremos testar
e faz os set's necessários antes da execução dos casos de teste --->
<cfset this.objTeste = createObject("component","Usuario").init() >
<cfset this.objTeste.setNome("Anderson Straube") />
<cfset this.objTeste.setEmail("xxx@yyyy.com") />
</cffunction>
<!--- ...seus testes aqui... --->
<cffunction name="tearDown" access="public" returntype="void">
<!--- Aqui eu limpo a variável "objTeste" --->
<cfset this.objTeste = "" >
</cffunction>
</cfcomponent> |
Nosso componente herda a classe TestCase do framework (extends=”mxunit.framework.TestCase”), então o método setUp() é chamado, depois nosso método de teste e então tearDown().
Vale ressaltar que os métodos setUp() e o tearDown() são executados para cada caso de teste.
A idéia é que quando você precisa testar algo, o objeto deve estar em um estado conhecido, então o setUp faz isso, configura o objeto ao estado inicial desejado e normalmente o tearDown irá limpá-lo, uma vez que o objeto pode ter seu estado alterado em algum teste executado.
Até a próxima.
por Anderson Straube
Post original
Link permanente para este artigo: http://ensina.me/coldfusion/mxunit-funcoes-setup-e-teardown/
Mai 10
TDD com ColdFusion – Parte 2 (Configuração do MXUnit)
Continuando a série de posts sobre TDD (Test Driven Development), antes de partir para a prática precisamos configurar o MXUnit (framework para teste unitário em CFML).
Se você não sabe o que é TDD veja nesse link.
Precisamos do MXUnit instalado no Eclipse e no seu projeto, caso não saiba como fazer
veja aqui.
Para que possamos rodar os testes precisamos configurar nossa IDE (no caso o Eclipse) para informar qual é a URL do Facade do framework, ou seja, informamos o caminho da camada de acesso (fachada) para que ele execute todos os testes.
Dentro do Eclipse selecione o projeto (aba Navigator), clique com o botão direito e vá em “Properties”, depois menu “MXUnit Properties”, em seguida insira a URL onde colocou os arquivos do framework, normalmente será a raiz do projeto, exemplo: http://seu_site.com.br/mxunit/framework/RemoteFacade.cfc?wsdl. Em “component root” insira o path dos seus arquivos de teste (nesse caso se os componentes não estiverem visíveis na web você pode criar um mapping para eles). Veja na imagem abaixo:
Feito isso clique no botão “Test Facade URL” para certificar de que tudo esteja funcionando.
Por ora é isso, no próximo post sobre TDD nós veremos um exemplo prático.
Até a próxima.
por Anderson Straube
Post original
Link permanente para este artigo: http://ensina.me/coldfusion/tdd-com-coldfusion-parte-2-configuracao-do-mxunit/
Mai 10
TDD com ColdFusion – Parte 1 (Instalação do MXUnit)
Salve pessoal.
Começarei uma série de posts sobre TDD (Test Driven Development) com ColdFusion.
Como de início não poderia ser diferente, vamos começar com a instalação do framework de teste bem como o plugin para o Eclipse.
*Existem vários frameworks para teste unitário em CFML, no entanto para os exemplos utilizarei o MXUnit por ser muito simples, prático e funcional.
Why MXUnit?
At its core, MXUnit grew around the concept of making things easier for the person writing the tests. We believe people shy away from unit testing because the perception (sometimes justified!) is that it’s too inconvenient. We sought to change that.
Instalação do Framework:
1 ) Baixe a última versão do MXUnit => (https://github.com/downloads/mxunit/mxunit/mxunit-2.1.1.zip);
2) Descompacte o conteúdo dentro do webroot (“domínio/mxunit”);
3) Teste a instalação no http:///mxunit/index.cfm. Deve aparecer uma tela semelhante à abaixo:
Instalação do Plugin para Eclipse:
1) Com o Eclipse aberto, clique no menu “Help > Install New Software”;
2) Clique em Add e depois insira o Nome e Location respectivamente: mxUnit e http://mxunit.org/update (conforme imagem abaixo):
3) Feito isso clique em “OK” e siga o trivial “NNF” (next -> next -> finish);
Nos próximos posts pretendo explorar a parte de codificação.
Até a próxima.
Att,
Anderson Straube
Post original
Link permanente para este artigo: http://ensina.me/coldfusion/tdd-com-coldfusion-parte-1-instalacao-do-mxunit/



