Eu escrevo muitos testes de integração para o Magento 2. Isso ajuda meu desenvolvimento local e eles se encaixam perfeitamente no modo de trabalho de IC.
No entanto, existem algumas curiosidades sobre o conjunto de testes de integração do Magento. Por exemplo:
- Ele habilita todos os módulos por padrão e não há como desativar isso. Isso pode ter alguns efeitos colaterais indesejados, porque em um projeto de cliente você provavelmente desabilita os módulos que não precisa, por exemplo, o módulo Vertex. No entanto, este módulo adiciona um campo obrigatório ao seu modelo de cliente; portanto, é desnecessário dizer que, se você criar um cliente em seu teste de integração, esse teste falhará .
- Ele adiciona módulos de teste Magento à sua base de código . Portanto, toda vez que você executou seu conjunto de testes de integração, acaba tendo 3 módulos extras em seu
app/code/Magento
espaço para nome.
Esses problemas dificultam o uso de um teste de integração em um projeto local. Alguém me disse uma vez que os testes de integração são criados apenas para os desenvolvedores de extensões testarem se o seu módulo passa os critérios para chegar ao mercado. Isso é verdade? Porque se sim: qual é a maneira correta de escrever testes de integração para a loja virtual de seus clientes? Eu gosto das anotações e coisas do Magento. Realmente frustrante isso.