Teste de unidade adequado no WordPress

8

Existem diferentes tópicos disponíveis para testes de unidade no WordPress. No que diz respeito à preocupação, deve haver um teste de unidade adequado para cada peça de personalização feita no WordPress.

Eu verifiquei alguns plugins e artigos sobre o mesmo. Aqui estão alguns.

  1. http://codex.wordpress.org/Theme_Unit_Test
  2. http://wptest.io/
  3. https://make.wordpress.org/core/handbook/testing/automated-testing/phpunit/

Agora, com a unidade PHP, podemos escrever casos de teste conforme nossa necessidade. Os casos de teste podem ser escritos para funcionalidades e personalização principais.

E o Teste de Unidade Automatizado para Tema com plug-ins pesados ​​e personalização, como Mega Menu, compositor visual, personalização no Woo Commerce.

Como isso pode ser feito? Quaisquer padrões para testes de unidade para sites desenvolvidos com temas premium e plugins com alto nível de personalização?

Solução de Software Trimantra
fonte
não tenho certeza qual é a questão aqui. teste de unidade é teste de unidade, por que testar um código deve ser diferente se for usado como um plug-in?
Mark Kaplun
1
Estamos tentando encontrar uma saída padrão para o Teste de Unidade automatizado que funcione com qualquer tipo de desenvolvimento no Wordpress. Não importa o que?
Trimantra Software Solution
padrão para quê? O phpunit é a ferramenta padrão, mas você sabe disso. Cada teste de unidade é obviamente diferente com base nos requisitos da unidade em causa
Mark Kaplun
Padrão para escrever código eficiente e site com qualidade.
Trimantra Software Solution
O teste de unidade é usado para descobrir regressões quando o código é alterado. Na verdade, eles não têm muitas vantagens em um desenvolvimento "único" que não terá muitas alterações ou, quando houver uma alteração, será tão importante em todo o teste. quebrará. O teste de unidade por si só não aprimora seu código de forma alguma, para que você precise usar melhores práticas de design de software.
Mark Kaplun

Respostas:

8

Acho que o que você está procurando seria tecnicamente chamado de teste funcional , teste de integração ou teste de aceitação . Parece que você deseja testar o comportamento do front-end do seu site (ou o comportamento do front-end de um plug-in ou tema), não cada unidade do código em si. Você pode usar uma ferramenta como PHPUnit para testar seu código PHP e uma ferramenta como QUnit para testar seu código JS, mas precisará de uma ferramenta diferente para testar o comportamento real do site (ou recurso de plugin / tema) como um todo integrado .

Infelizmente, o teste de aceitação ainda é bastante jovem no espaço do WordPress. Existem alguns plugins ou temas que o fazem, mas não existe um método "básico" (mas consulte o ticket trac # 34693 ). Também não existe necessariamente uma ferramenta de "melhores práticas" de consenso. Portanto, no que diz respeito às ferramentas específicas do WordPress, essa é uma área que ainda está sendo explorada. (Eu mesmo ainda estou começando a explorar o teste de aceitação de um plugin do WordPress.)

No entanto, existem muitas ferramentas diferentes disponíveis para testes de aceitação, elas simplesmente não foram construídas especificamente com o WordPress em mente. E tudo bem. Porque quando você está testando o comportamento de front-end de um site, realmente não importa muito o que está alimentando o back-end. Portanto, uma ferramenta que pode executar testes em um site construído com rascunho provavelmente funcionará muito bem também para um site WordPress ou qualquer outro site.

Como o WordPress é escrito em PHP e tende a usar o PHPUnit para testes, a codecepção é uma escolha natural para isso. É uma estrutura que permite criar testes de unidade (com PHPUnit), testes funcionais e testes de aceitação, que você pode executar com um único comando. Eu acho que talvez esse seja exatamente o tipo de coisa que você está procurando. Nesse caso, você provavelmente também desejará conferir o WP Browser , que é um conjunto de extensões específicas do WordPress para codecepção.

Se houver uma ferramenta emergente para teste de aceitação de plug-ins do WordPress, eu diria que pode ser codecepção. Mas, que eu saiba, isso ainda é uma coisa jovem entre a maioria dos desenvolvedores do WordPress, então teremos que esperar e ver o que acontece no futuro. Não hesite em entrar e começar a usá-lo de qualquer maneira - talvez isso defina uma tendência!


Atualização 2017-12-12

Eu tenho usado o WP Browser para testar o plug-in do WordPoints e fiquei feliz com isso. Também configurei um repositório demonstrando como executar os testes de aceitação do navegador WP no Travis CI . Ainda não existe um padrão de fato no ecossistema do WordPress, mas o Codeception + WP Browser continua sendo uma das opções mais importantes.

JD
fonte