这是sg_test_env项目
sg-test-env的Python项目详细描述
python测试环境
@旋转滑翔机
简短说明
此图像为pythontest环境创建基础图像 类sgpytest,用于对源代码运行测试并运行unittest
如何安装(只有这样才有意义;-)
- 要测试的项目(使用setup.py等)位于:
~/developer/project1
docker run -d --name sg_test_env -e TZ=Europe/Zurich -p 80:8888 -v ~/developer/project1:/data -w /app swissglider/sg_test_env:latest docker exec -it sg_test_env tail -f /tmp/uwsgi.log docker exec -it sg_test_env bash
其他原因(调试/日志)
来自Docker Hub
docker run -it --rm -p 80:8888 -e TZ=Europe/Zurich -w /app swissglider/sg_test_env:latest /start.sh
# or
docker run -d --name sg_test_env -p 80:8888 -e TZ=Europe/Zurich -w /app swissglider/sg_test_env:latest
docker exec -it sg_test_env bash
docker exec -it sg_test_env tail -f /tmp/uwsgi.log
来自Github
docker build -t sg_test_env_i https://raw.githubusercontent.com/swissglider/SG_Test_Env/master/Dockerfile
docker -it --rm -p 80:8888 -e TZ=Europe/Zurich sg_test_env_i /start.sh
# or
docker build -t sg_test_env_i https://raw.githubusercontent.com/swissglider/SG_Test_Env/master/Dockerfile
docker run -d --name sg_test_env -p 80:8888 -e TZ=Europe/Zurich -w /app sg_test_env_i
docker exec -it sg_test_env bash
docker exec -it sg_test_env tail -f /tmp/uwsgi.log
来自dockerfile
docker build -t sg_test_env_i -f Dockerfile .
docker -it --rm -p 80:8888 -e TZ=Europe/Zurich sg_test_env_i /start.sh
docker -it --rm -p 80:8888 -e TZ=Europe/Zurich sg_test_env_i bash
# or
docker build -t sg_test_env_i -f Dockerfile .
docker run -d --name sg_test_env -p 80:8888 -e TZ=Europe/Zurich -w /app sg_test_env_i
docker exec -it sg_test_env bash
docker exec -it sg_test_env tail -f /tmp/uwsgi.log
用于调试烧瓶
docker run -d --name sg_test_env -e TZ=Europe/Zurich -p 8888:8888 -v ~/developer/SG_Test_Env:/data -e FLASK_APP=main.py -e FLASK_DEBUG=1 swissglider/sg_test_env:latest bash -c "while true ; do sleep 10 ; done"
docker exec -it sg_test_env bash
flask run --host=0.0.0.0 --port=8888
docker run -it --rm -e TZ=Europe/Zurich -p 80:80 -v ~/developer/SG_Test_Env/:/app -w /app swissglider/sg_test_env:test sh install_script/sg_flask.sh
docker run -it --rm -e TZ=Europe/Zurich -p 80:80 -v ~/developer/SG_Test_Env/:/app -w /app swissglider/sg_test_env:test sh install_script/sg_clean.sh
在测试docker python中安装它进行测试
docker run -it --rm --name sg_test_env -e TZ=Europe/Zurich -p 80:80 -v ~/developer/SG_Test_Env:/data -v ~/developer/SG_Test_Env:/app -w /data python:3.6.6 sh sg_flask.sh
docker run -it --rm --name sg_test_env -e TZ=Europe/Zurich -p 80:80 -v ~/developer/SG_Test_Env:/data -v ~/developer/SG_Test_Env -w /data python:3.6.6 bash
# Clean environment:
sh ./install_script/sg_clean.ch
# Test Pytest standalone - 1:
pytest testing src --html=/data/src/sg_pytest/webapp/static/test.html --cov=src --cov-report=html:/data/src/sg_pytest/webapp/static/cov
# Test Pytest standalone - 2:
docker run -it --rm --name sg_test_env -e TZ=Europe/Zurich -p 80:80 -v ~/developer/SG_Test_Env:/data -v ~/developer/SG_Test_Env:/app -w /data python bash
pip install pytest
pip install pytest-cov
pip install pytest-html
pip install -e .
pytest --html=src/sg_pytest/webapp/static/test.html --cov --cov-report=html:src/sg_pytest/webapp/static/cov/ -s -vv
# Test setup.py test standalone - 3:
docker run -it --rm --name sg_test_env -e TZ=Europe/Zurich -p 80:80 -v ~/developer/SG_Test_Env:/data -v ~/developer/SG_Test_Env:/app -w /data python:3.6.5 bash
python setup.py test
sh sg_clean.sh
docker run -it --rm --name sg_test_env -e TZ=Europe/Zurich -v ~/developer/SG_Test_Env:/app -w /app python:3.6.5 bash
python setup.py test
sh ./install_script sg_clean.sh
sg_test_env测试
# standalone
docker run -it --rm -e TZ=Europe/Zurich -w /app swissglider/sg_test_env:test python setup.py test# with own app (wiht setup.py and tests etc)
docker run -it --rm -e TZ=Europe/Zurich -v ~/developer/SG_Test_Env:/app -w /app swissglider/sg_test_env:test bash
python setup.py test# with access to static dir to get html output
docker run -it --rm -e TZ=Europe/Zurich -v ~/developer/static:/static -w /app swissglider/sg_test_env:test bash
python setup.py test# with own test data
docker run -it --rm -e TZ=Europe/Zurich -v ~/developer/test_data:/data -w /app swissglider/sg_test_env:test bash
python setup.py test
目录体系结构-卷
代码
- setup.py
- setup.cfg
- readme.md
- plugin_packages.txt
- requirements.txt
- sg_pytest.ini
- test_requirements.txt
- src(源目录)
- 测试(测试文件)
tmp_主页
- .pypirc
示例请参见
- https://github.com/swissglider/SG_Test_Env
- https://github.com/swissglider/SG_Test_Env/tree/master/testing/data
如何使用IT测试框架
如何构建
docker build -t sg_test_env_i https://raw.githubusercontent.com/swissglider/SG_Test_Env/master/Dockerfile docker -it --rm -p 80:8888 -e TZ=Europe/Zurich sg_test_env_i /start.sh # or docker build -t sg_test_env_i https://raw.githubusercontent.com/swissglider/SG_Test_Env/master/Dockerfile docker run -d --name sg_test_env -p 80:8888 -e TZ=Europe/Zurich -w /app sg_test_env_i docker exec -it sg_test_env bash docker exec -it sg_test_env tail -f /tmp/uwsgi.log
来自dockerfile
docker build -t sg_test_env_i -f Dockerfile . docker -it --rm -p 80:8888 -e TZ=Europe/Zurich sg_test_env_i /start.sh docker -it --rm -p 80:8888 -e TZ=Europe/Zurich sg_test_env_i bash # or docker build -t sg_test_env_i -f Dockerfile . docker run -d --name sg_test_env -p 80:8888 -e TZ=Europe/Zurich -w /app sg_test_env_i docker exec -it sg_test_env bash docker exec -it sg_test_env tail -f /tmp/uwsgi.log
用于调试烧瓶
docker run -d --name sg_test_env -e TZ=Europe/Zurich -p 8888:8888 -v ~/developer/SG_Test_Env:/data -e FLASK_APP=main.py -e FLASK_DEBUG=1 swissglider/sg_test_env:latest bash -c "while true ; do sleep 10 ; done"
docker exec -it sg_test_env bash
flask run --host=0.0.0.0 --port=8888
docker run -it --rm -e TZ=Europe/Zurich -p 80:80 -v ~/developer/SG_Test_Env/:/app -w /app swissglider/sg_test_env:test sh install_script/sg_flask.sh
docker run -it --rm -e TZ=Europe/Zurich -p 80:80 -v ~/developer/SG_Test_Env/:/app -w /app swissglider/sg_test_env:test sh install_script/sg_clean.sh
在测试docker python中安装它进行测试
docker run -it --rm --name sg_test_env -e TZ=Europe/Zurich -p 80:80 -v ~/developer/SG_Test_Env:/data -v ~/developer/SG_Test_Env:/app -w /data python:3.6.6 sh sg_flask.sh
docker run -it --rm --name sg_test_env -e TZ=Europe/Zurich -p 80:80 -v ~/developer/SG_Test_Env:/data -v ~/developer/SG_Test_Env -w /data python:3.6.6 bash
# Clean environment:
sh ./install_script/sg_clean.ch
# Test Pytest standalone - 1:
pytest testing src --html=/data/src/sg_pytest/webapp/static/test.html --cov=src --cov-report=html:/data/src/sg_pytest/webapp/static/cov
# Test Pytest standalone - 2:
docker run -it --rm --name sg_test_env -e TZ=Europe/Zurich -p 80:80 -v ~/developer/SG_Test_Env:/data -v ~/developer/SG_Test_Env:/app -w /data python bash
pip install pytest
pip install pytest-cov
pip install pytest-html
pip install -e .
pytest --html=src/sg_pytest/webapp/static/test.html --cov --cov-report=html:src/sg_pytest/webapp/static/cov/ -s -vv
# Test setup.py test standalone - 3:
docker run -it --rm --name sg_test_env -e TZ=Europe/Zurich -p 80:80 -v ~/developer/SG_Test_Env:/data -v ~/developer/SG_Test_Env:/app -w /data python:3.6.5 bash
python setup.py test
sh sg_clean.sh
docker run -it --rm --name sg_test_env -e TZ=Europe/Zurich -v ~/developer/SG_Test_Env:/app -w /app python:3.6.5 bash
python setup.py test
sh ./install_script sg_clean.sh
sg_test_env测试
# standalone
docker run -it --rm -e TZ=Europe/Zurich -w /app swissglider/sg_test_env:test python setup.py test# with own app (wiht setup.py and tests etc)
docker run -it --rm -e TZ=Europe/Zurich -v ~/developer/SG_Test_Env:/app -w /app swissglider/sg_test_env:test bash
python setup.py test# with access to static dir to get html output
docker run -it --rm -e TZ=Europe/Zurich -v ~/developer/static:/static -w /app swissglider/sg_test_env:test bash
python setup.py test# with own test data
docker run -it --rm -e TZ=Europe/Zurich -v ~/developer/test_data:/data -w /app swissglider/sg_test_env:test bash
python setup.py test
目录体系结构-卷
代码
- setup.py
- setup.cfg
- readme.md
- plugin_packages.txt
- requirements.txt
- sg_pytest.ini
- test_requirements.txt
- src(源目录)
- 测试(测试文件)
tmp_主页
- .pypirc
示例请参见
- https://github.com/swissglider/SG_Test_Env
- https://github.com/swissglider/SG_Test_Env/tree/master/testing/data
如何使用IT测试框架
如何构建
代码
- setup.py
- setup.cfg
- readme.md
- plugin_packages.txt
- requirements.txt
- sg_pytest.ini
- test_requirements.txt
- src(源目录)
- 测试(测试文件)
tmp_主页
- .pypirc
.pypirc
[distutils]index-servers= pypi pypitest[pypi]repository: https://pypi.python.org/pypiusername: YOUR_USERNAME_HEREpassword: YOUR_PASSWORD_HERE[pypitest]repository: https://testpypi.python.org/pypiusername: YOUR_USERNAME_HEREpassword: YOUR_PASSWORD_HERE
打开
- 使pypi
- 在Web图形用户界面中清除