Tag: python unittest

使用环境variables运行容器testing

我可以login到我的Python容器 docker exec -it my_container bash 一旦进入,我可以更改环境variables并在单个命令中运行testing, APP_ENV="test" python ./manage.py test 此外,我可以运行testing,而无需login到容器使用 docker exec -it my_container python ./manage.py test 但是如果我尝试更改环境variables并在单个命令中运行testing, docker exec -it my_container APP_ENV="test" python ./manage.py test 我得到一个错误: rpc error:code = 2 desc = oci runtime error:exec failed:container_linux.go:262:Starting container process caused“exec:\”APP_ENV = test \“:executable path file not found in $ PATH” 我怎样才能改变环境variables,并在一个命令中运行testing,而不先login到容器?

Dockerpytesting容器在数据库可用之前超时?

我已经在Docker容器中加载了一个数据库(Neo4J),但是我认为我的unit testing在加载数据库之前碰到了容器。 def setUp(self): client = docker.from_env() self.container = client.containers.run("neo4j", detach=True, environment={'NEO4J_AUTH':'none'}, ports={7474:7474, 7687:7687}, volumes={'/Users/myuser/neo4j/data': {'bind': '/data', 'mode': 'rw'}} ) self.container.start() def test_database_loads(self): r = requests.get(self.database_url) self.assertEqual(r.status_code, 400) 我得到这个错误: ====================================================================== ERROR: test_database_loads (backend.api.tests.test_base.BaseTestCase) ———————————————————————- Traceback (most recent call last): File "/Users/aljabear/.pyenv/versions/visualist/lib/python3.5/site-packages/requests/packages/urllib3/connectionpool.py", line 386, in _make_request six.raise_from(e, None) File "<string>", line 2, in raise_from File "/Users/aljabear/.pyenv/versions/visualist/lib/python3.5/site-packages/requests/packages/urllib3/connectionpool.py", […]