andrewalker / p5-business-cpi

Common Payment Interface
6 stars 2 forks source link

Criar Test::Business::CPI::Gateway #9

Open andrewalker opened 11 years ago

andrewalker commented 11 years ago

Pode ser uma distribuição separada, ou dentro do próprio Business::CPI.

A ideia é que as gateways podem criar um teste com a seguinte estrutura:

#!/usr/bin/env perl
use Test::Business::CPI::Gateway;
run_default_tests('MyGatewayName');

Ou algo desse tipo. Deveria utilizar Test::Routine, e definir Roles para cada teste. Assim, poderia ser executada toda a suíte de testes padrões para gateways, ou apenas um subconjunto delas.

Deve haver testes para verificar se todos os métodos principais são definidos e implementados, se retornam valores dentro do esperado, etc, enfim, se seguem corretamente a Interface Padrão que o CPI busca definir.

andrewalker commented 11 years ago

Problema de se usar Test::Routine: estamos utilizando Moo. É incoerente inserir Moose como dependência. Deveríamos fazer um eval para verificar se está instalado, e se alguma variável de ambiente está definida, e então rodamos este teste.

andrewalker commented 11 years ago

A alternativa seria utilizarmos Test::Class ao invés de Test::Routine. Traria uma performance muito superior, e teria a vantagem de não carregar a dependência de Moose desnecessariamente.