这是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

示例请参见

如何使用IT测试框架

如何构建

see howto Github build pypi

.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图形用户界面中清除

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何删除列表中的重复项并将列表复制到另一个列表中   Java如何在非UI应用程序中检测tab键按下?   java无法在未调用Looper的线程内创建处理程序。警报对话框线程上的prepare()   java Jaxb将XML转换为ElementNSImpl类型,而不是正确的类型   基于java标记的过滤实现Firestore   我们可以使用Java和Eclipse使用YouTube分析Api吗?   JavaSpring注释在多个选项卡中同时打开多个视图   java Hibernate不使用JBOSS检索数据   矩阵如何从Apache Commons数学Java库中找到伪逆   对象Java打印“null”作为字符串引用!=使无效   java中的图形慢映射   java用户界面:操作栏和上下文操作栏,新趋势   java Infinispan,版本化操作返回不正确的结果   java调整保存在父JFrame中的JInternalFrame的大小,并且该父JFrame使用ComponentMover API注册   java如何防止会话属性在服务器上持久化?   java如何为SpringBoot 2创建自定义嵌入式servlet容器   使用Robolectric进行单元测试时,在片段类内调用getString()时发生java IllegalStateException