Teste unitário para desenvolvimento de plugins

15

Eu preciso aplicar o teste de unidade para um dos meus plugins. Recentemente eu o projetei em classes, então o teste de unidade deve ser mais fácil de aplicar agora.

Quais são algumas estratégias eficazes para testar o meu plugin? Eu preciso de uma maneira de usar o WordPress 'funções usadas no plugin, mas eu não deveria precisar de um site WordPress em execução (apenas dados de teste no DB AFAIK), certo?

Eu tenho dificuldade em descobrir como apenas testar o plug-in e não o plug-in no contexto do site. Eu poderia usar o Selenium para isso, mas agora eu só quero me concentrar no teste unitário da funcionalidade das classes de plugins, para que eu não as quebre com cada atualização.

    
por Fernando Briano 15.02.2011 / 20:40

3 respostas

14

Como um ex-engenheiro de software que está construindo grandes tipos de empresas que desembarcou em uma agência interativa, deixe-me dar algumas ideias sobre testes ao desenvolver para o Wordpress:

  1. Seu teste de unidade deve testar a menor quantidade de comportamento que uma classe pode realizar. Cada classe deve poder ser testada independentemente do Wordpress. Se você tiver uma dependência do Wordpress, considere a criação de objetos e / ou métodos falsos em seu teste para contornar isso. Em última análise, isso vai mudar um pouco como você escreve seu código - mas será muito mais testável. Como de costume, não há almoço grátis.

  2. Quando você chega ao nível de testes funcionais, é onde você pode testar seu código com dependências do Wordpress. É aí que você realmente testaria se o seu plug-in realmente executa um serviço que deveria.

  3. Dependendo do que o seu plug-in faz, considere o uso de testes baseados no Selenium que testam a presença de dados no DOM usando IDs. É razoavelmente robusto e é muito menos provável que quebre a versão para a versão. Novamente, o truque aqui é pensar nos testes como parte do ciclo de vida de desenvolvimento de software. Grandes alterações no código vão cair em cascata para grandes mudanças nos seus testes. Tudo parte do custo de fazer negócios.

Se você precisar de ajuda com alguma das ferramentas para realizar isso, eu ficaria feliz em responder se você abrir uma nova pergunta. Eu uso o PHPUnit e sua extensão de selênio no trabalho que faço.

    
por Ethan Seifert 15.02.2011 / 22:45
8

Eu realmente não fiz isso sozinho, mas há um ambiente de teste para testes de unidade do WordPress. Ele é destinado ao teste principal, mas pode ser adaptado para testar plugins.

Mais informações aqui:

enlace

enlace

    
por Otto 15.02.2011 / 21:18
-1

Eu criei recentemente um tutorial que pega as informações do meu googling, para mostrar como:

  1. Use o núcleo do wordpress para fazer testes unitários
  2. Ocultar avisos de reprovação / sessão enviados do php
  3. Mostre como definir suas opções de plug-in nos testes
  4. Use o mesmo núcleo wp para fazer testes unitários para testar vários plug-ins

O tutorial é aqui , espero que ajude

    
por Daithí 26.04.2013 / 17:26