Riopro na Olimpíada do Conhecimento SENAI
A Riopro está participando como parceira e expositora na Olimpíada do Conhecimento, organizada pelo SENAI. O sistema PatriRP, da Riopro, está sendo usado para gerenciar todos os bens patrimoniais do evento.
Além disso, a Riopro estará no evento com um stand, onde os visitantes poderão conhecer melhor a empresa e os sistemas PatriRP, Patrono e Zest.
authlogic e subdomain_fu: configurando corretamente o escopo
Esse é o pior tipo de erro que acontece: o que não está previsto nos seus testes. Recentemente passamos a usar o authlogic para validar a autenticação de usuários a alguns de nossos sistemas. A validação é muito boa e ainda facilita a criação de testes.
Porém, ao usar um subdomain-fu um erro estranho de validação de unicidade ocorria. Apesar de termos criado corretamente a validação de unicidade (validates_uniqueness_of), com o escopo correto de account_id (ou seja, apenas validando duplicidades existentes em uma mesma conta, começamos a ter falhas no ambiente de staging.
Sim, os testes previstos para verificar se a validação estava sendo criada com o escopo de account_id tinha sido criada corretamente usando o Remarkable. E isso tornava o erro em produção mais estranho ainda.
Após começar a tirar coisa por coisa, pensei que o culpado deveria ser o authlogic. Afinal, se o validates_uniqueness_of passasse a falhar a gente já teria ouvido uma chiadeira danada nos fóruns.
Indo direto para a conclusão, o que precisamos é passar um validations_scope como parâmetro para a inicialização do acts_as_authentic. O código fica como abaixo:
# authlogic
acts_as_authentic {|config| config.validations_scope = :account_id }
É óbvio que você não precisa usar o subdomain-fu para esse problema ocorrer. Qualquer escopo que você precisar passar como parâmetro para verificar a unicidade do usuário é suficiente para precisar desse bloco de configuração.
Testes de integração usando webrat, rspec, authlogic e subdomain_fu
Post de Reveillon, já que foi começado em 2009 e terminado em 2010. Bom ano a todos.
Esse post vai falar especificamente sobre como usar o Webrat + Rspec para aplicações usando o Authlogic e o subdomain_fu para testes de integração. Por isso, não vamos mostrar todos os matchers existentes no Webrat. Apenas mostrar como fazemos para os testes rodarem.
Testes de integração sempre foram um Calcanhar de Aquiles para mim. Em parte porque as soluções existentes eram trabalhosas e em parte porque demoravam muito para rodar. Por exemplo, gosto muito do Cucumber, e acredito que suas descrições são muito boas para BDD. O problema do Cucumber é que ele, tal qual todas as formas de testes, é usado por humanos. E os testes que mostram que as features funcionam são tão fáceis de serem mal escritos ou escritos erradamente quanto qualquer outro teste. Com a diferença que ele acaba por acobertar mais facilmente os problemas existentes nesses testes. Por isso tenho restrições em implementá-lo.
Gosto muito do Selenium também, e acredito que em determinados momentos, o custo de performance (tempo para rodar os testes) pode ser justificado pelo fato dele realmente usar browsers para realizar os testes. É muito provável que passemos a usar o Selenium em algum momento futuro aqui na Riopro.
Mas, por enquanto, preferimos adotar somente o excelente Webrat (sim, porque o Webrat pode ser fácilmente integrado ao Selenium e ao Cucumber). O que o Webrat faz é, em linhas gerais, executar uma chamada http real (usando o método visit) e tratar o output gerado com o Nokogiri (O Nokogiri é um parser no estilo Hpricot, rápido e com uma ótima navegação do DOM). Além disso, o Webrat provê matchers muito úteis.
Previous Posts
Bem-vindo ao blog da Riopro
A Riopro é uma empresa especializada em serviços e produtos de gestão empresarial, sediada no Centro da cidade do Rio de Janeiro, que fornece soluções personalizadas para empresas que buscam tecnologia para melhor gerenciar seus negócios.


