備忘録として
docker-compose.ymlの設定
version: '3.3'
services:
codecept:
image: codeception/codeception
depends_on:
- chrome
- wordpress
volumes:
- .:/project
db:
image: mysql:5.7
volumes:
- db_data:/var/lib/mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: somewordpress
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: wordpress
networks:
main:
aliases:
- db.mysql
wordpress:
depends_on:
- db
volumes:
- ./:/var/www/html
image: wordpress:latest
ports:
- 80:80
restart: always
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: wordpress
networks:
main:
aliases:
- wordpress.demo
chrome:
image: selenium/standalone-chrome-debug
ports:
- 4444:4444
- 5900:5900
container_name: chrome
privileged: true
networks:
main:
aliases:
- selenium.demo
networks:
main:
volumes:
db_data: {}
これで一旦Wordpress環境を作る。
docker-compose exec wordpress bash
でコンテナ内に入り、
composer require "codeception/codeception" --dev
でcodeceptionを入れる。
入れ終わったらvendor/bin/codecept init acceptance
を実行する。
codeception.ymlの設定
# suite config
suites:
acceptance:
actor: AcceptanceTester
path: .
modules:
enabled:
- WebDriver:
url: http://wordpress.demo/
browser: chrome
host: chrome
window_size: 1920x1200
capabilities:
chromeOptions:
args: ["--headless", "--disable-gpu"]
- \Helper\Acceptance
extensions:
enabled:
- Codeception\Extension\RunFailed
- Codeception\Extension\Recorder
params:
- env
gherkin: []
# additional paths
paths:
tests: tests
output: tests/_output
data: tests/_data
support: tests/_support
envs: tests/_envs
settings:
shuffle: false
lint: true
上記のように設定する。
完了したらば、vendor/bin/codecept run
でテストを実行する。