Hi everybody, I have some troubles executing the t...
# docker
l
Hi everybody, I have some troubles executing the tests in docker. I have the special configuration for testing in a
devtest.php
file like in the vagrant machine. Now when I run the tests inside docker
docker/sdk cli -t -x APPLICATION_ENV=devtest codecept run
, all tests working with DB use the same DB that I use for development. That breaks some tests that expect the DB would be empty and fullfill the development DB with data only needed for testing. Someone knows how to configure the
deploy.dev.yml
file to use the testing mode and that works with a different DB? Thanks in advance
a
what about:
Copy code
export SPRYKER_PROJECT_NAME=devtest
TESTFILE=deploy.devtest.yml
cp deploy.dev.yml $TESTFILE
# rename key 'namespace' in $TESTFILE
docker/sdk -p $SPRYKER_PROJECT_NAME boot $TESTFILE
docker/sdk -p $SPRYKER_PROJECT_NAME testing -x APPLICATION_ENV=devtest codecept run
l
Thanks Stephan, I am not sure if I have understood your solution, in your solution do I have to do the boostrap each time I need to change from development to testing? I need a way to work with both at the same time. I am not be able to down/bootstrap/up each time I need to run tests.
a
Hi Vidal, the core concept of my solution is to have a concurrent deployment of your application stack, database included. This is typically done in a CI scenario on a different machine. But here the idea is to run another deployment on top of your docker engine, shaped by the new 'namespace' of container names. So you would run both deployments first the development stack and second the test stack in parallel. This will have two different sets of applications and services, but with the same code base of your host's filesystem (when booted in development mode) which you can run simultaneously.
l
Thank you so much Stephan, I will try it, but that will consume more resources, and I not sure if all machines of my colleagues has enough memory to run it.