Comandos úteis de desenvolvimento
Referência rápida para comandos de desenvolvimento comuns no omegaUp.
Linting e validação
Execute todos os linters
./stuff/lint.sh
git push.
Local: Fora do contêiner Docker, raiz do projeto
Validar apenas estilo
./stuff/lint.sh validate
Gerar arquivos i18n
./stuff/lint.sh --linters=i18n fix --all
*.lang baseados em es.lang, en.lang e pt.lang.
Teste
Execute todos os testes PHP
./stuff/runtests.sh
Localização: Dentro do contêiner Docker
Executar arquivo de teste PHP específico
./stuff/run-php-tests.sh frontend/tests/controllers/$MY_FILE.php
Executar testes Cypress
npx cypress open
Pré-requisitos: - Node.js instalado - npm instalado -libasound2 (Linux)
Local: Fora do contêiner Docker
Execute testes de unidade Vue (modo Watch)
yarn run test:watch
Executar arquivo de teste específico do Vue
./node_modules/.bin/jest frontend/www/js/omegaup/components/$MY_FILE.test.ts
Banco de dados
Redefinir o banco de dados para o estado inicial
./stuff/bootstrap-environment.py --purge
Localização: Dentro do contêiner Docker
Aplicar migrações de banco de dados
./stuff/db-migrate.py migrate --databases=omegaup,omegaup-test
Localização: Dentro do contêiner Docker
Atualizar schema.sql de Migrações
./stuff/update-dao.sh
schema.sql ao adicionar novos arquivos de migração.
Localização: Dentro do contêiner Docker
Validação de tipo PHP
Execute o Salmo em todos os arquivos PHP
find frontend/ \
-name *.php \
-and -not -wholename 'frontend/server/libs/third_party/*' \
-and -not -wholename 'frontend/tests/badges/*' \
-and -not -wholename 'frontend/tests/controllers/*' \
-and -not -wholename 'frontend/tests/runfiles/*' \
-and -not -wholename 'frontend/www/preguntas/*' \
| xargs ./vendor/bin/psalm \
--long-progress \
--show-info=false
Localização: Dentro do contêiner Docker
Docker
Reinicie o serviço Docker
systemctl restart docker.service
Local: Fora do contêiner Docker (Linux)
Acessar o console do contêiner
docker exec -it omegaup-frontend-1 /bin/bash
Referência rápida
| Tarefa | Comando | Localização |
|---|---|---|
| Código Lint | ./stuff/lint.sh |
Contentor exterior |
| Execute testes PHP | ./stuff/runtests.sh |
Dentro do recipiente |
| Execute Cipreste | npx cypress open |
Contentor exterior |
| Redefinir banco de dados | ./stuff/bootstrap-environment.py --purge |
Dentro do recipiente |
| Migrar banco de dados | ./stuff/db-migrate.py migrate |
Dentro do recipiente |
| Testes Vue | yarn run test:watch |
Dentro do recipiente |
Documentação Relacionada
- Guia de teste - Documentação de teste abrangente
- Diretrizes de codificação - Padrões de código
- Configuração de desenvolvimento - Configuração do ambiente