![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 114 Pomógł: 0 Dołączył: 3.08.2017 Ostrzeżenie: (0%) ![]() ![]() |
Na co powinienem zwrócić uwagę, pisząc testy w PHPUnit? Co powinienem testować, a czego nie?
Napisałem kiedyś taki test kontrolera w Symfony. Jak przetestować klikanie w linki bez Symfony? Przeglądam pisanie testów w PHPUnit i nie widzę przykładów, jak to zrobić. Podpowiedzcie mi, co powinienem przetestować w mojej aplikacji... (IMG:style_emoticons/default/smile.gif) |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 36 559 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Nie wiem, nigdy nie widzialem takich problemow. Podam ci co ja mam, moze ci to pomoze:
docker-compose.yml version: '3' services: php8: container_name: php8 build: context: . dockerfile: docker/images/php/Dockerfile volumes: - ./appcode:/var/www/html - ./docker/images/php/conf/dev-php.ini:/usr/local/etc/php/conf.d/php-settings.ini web: container_name: web ports: - "8083:80" build: context: . dockerfile: docker/images/nginx/Dockerfile volumes: - ./appcode:/var/www/html - ./docker/images/nginx/conf:/tmp/nginx PHP Dockerfile: FROM php:8.4.1-fpm-alpine3.21 # Set the system locale and time ENV TZ=Europe/London LANG=en_GB.UTF-8 LANGUAGE=en_GB.UTF-8 LC_ALL=en_GB.UTF-8 LC_CTYPE=en_GB.UTF-8 RUN apk update \ && apk upgrade \ && apk add --no-cache \ tzdata \ musl-locales \ musl-locales-lang \ && ln -snf /usr/share/zoneinfo/$TZ /etc/localtime \ && echo $TZ > /etc/timezone # Install additional php extensions ADD https://github.com/mlocati/docker-php-exten...-php-extensions /usr/local/bin/ RUN chmod +x /usr/local/bin/install-php-extensions \ && sync \ && install-php-extensions \ bcmath \ gd \ intl \ pcntl \ pdo_mysql \ xdebug \ zip # Chromium and ChromeDriver ENV PANTHER_NO_SANDBOX=1 ENV PANTHER_CHROME_ARGUMENTS='--disable-dev-shm-usage' RUN apk add --no-cache chromium chromium-chromedriver # Install Composer RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer # Install php-cs-fixer RUN curl -L https://cs.symfony.com/download/php-cs-fixer-v3.phar -o php-cs-fixer \ && chmod a+x php-cs-fixer \ && mv php-cs-fixer /usr/local/bin/php-cs-fixer # Clean up temporary files to keep image small RUN rm -rf /var/cache/apk/* /var/tmp/* /tmp/* # Configure the run.sh script to be executed COPY docker/images/php/run.sh /usr/local/bin/ RUN chmod +x /usr/local/bin/run.sh; CMD ["/usr/local/bin/run.sh"] composer.json { "type": "project", "license": "proprietary", "minimum-stability": "stable", "prefer-stable": true, "require": { "php": ">=8.4", "ext-ctype": "*", "ext-iconv": "*", "doctrine/annotations": "^1.0", "doctrine/doctrine-bundle": "^2.10", "doctrine/doctrine-migrations-bundle": "^3.2", "doctrine/orm": "^2.12", "guzzlehttp/guzzle": "^7.3", "phpdocumentor/reflection-docblock": "^5.3", "phpoffice/phpspreadsheet": "^1.29", "phpstan/phpdoc-parser": "^1.6", "symfony/asset": "7.2.*", "symfony/console": "7.2.*", "symfony/doctrine-messenger": "7.2.*", "symfony/dotenv": "7.2.*", "symfony/expression-language": "7.2.*", "symfony/flex": "^2", "symfony/form": "7.2.*", "symfony/framework-bundle": "7.2.*", "symfony/http-client": "7.2.*", "symfony/intl": "7.2.*", "symfony/mailer": "7.2.*", "symfony/mime": "7.2.*", "symfony/monolog-bundle": "^3.0", "symfony/notifier": "7.2.*", "symfony/process": "7.2.*", "symfony/property-access": "7.2.*", "symfony/property-info": "7.2.*", "symfony/proxy-manager-bridge": "6.4.*", "symfony/runtime": "7.2.*", "symfony/security-bundle": "7.2.*", "symfony/serializer": "7.2.*", "symfony/string": "7.2.*", "symfony/translation": "7.2.*", "symfony/twig-bundle": "7.2.*", "symfony/validator": "7.2.*", "symfony/web-link": "7.2.*", "symfony/webpack-encore-bundle": "^2.1", "symfony/yaml": "7.2.*", "twig/extra-bundle": "^2.12|^3.0", "twig/twig": "^2.12|^3.0" }, "config": { "allow-plugins": { "composer/package-versions-deprecated": true, "symfony/flex": true, "symfony/runtime": true }, "optimize-autoloader": true, "preferred-install": { "*": "dist" }, "sort-packages": true }, "autoload": { "psr-4": { "App\\": "src/" } }, "autoload-dev": { "psr-4": { "App\\Tests\\": "tests/" } }, "replace": { "symfony/polyfill-ctype": "*", "symfony/polyfill-iconv": "*", "symfony/polyfill-php72": "*", "symfony/polyfill-php73": "*", "symfony/polyfill-php74": "*", "symfony/polyfill-php80": "*", "symfony/polyfill-php81": "*" }, "scripts": { "auto-scripts": { "cache:clear": "symfony-cmd", "assets:install %PUBLIC_DIR%": "symfony-cmd" }, "post-install-cmd": [ "@auto-scripts" ], "post-update-cmd": [ "@auto-scripts" ] }, "conflict": { "symfony/symfony": "*" }, "extra": { "symfony": { "allow-contrib": false, "require": "7.2.*" } }, "require-dev": { "dbrekelmans/bdi": "^1.0", "phpunit/phpunit": "^9.5", "symfony/browser-kit": "7.2.*", "symfony/css-selector": "7.2.*", "symfony/debug-bundle": "7.2.*", "symfony/maker-bundle": "^1.0", "symfony/panther": "^2.0", "symfony/phpunit-bridge": "^7.2", "symfony/stopwatch": "7.2.*", "symfony/web-profiler-bundle": "7.2.*" } } A tak odpalam testy z panther (e2e - tam trzymam testy dla panther) docker exec -it --user=1000 php8 /bin/sh -c "php -d xdebug.mode=coverage bin/phpunit --testsuite e2e |
|
|
![]() ![]() |
![]() |
Aktualny czas: 11.10.2025 - 02:53 |