Tag: unit testing

在Visual Studio工具为Docker的unit testing?

目前是否有可能(如果是这样,如何)从Docker中的Visual Studio运行unit testing,并在testing资源pipe理器中获得结果? 我正在使用Visual Studio Tools for Docker并通过XUnit和Microsoft的TestTools编写testing。 但是,似乎没有办法(我可以看到)在Docker容器中运行testing。 我可以通过自己设置一个docker图像的努力,但是有什么可用的吗?

在环境中自动testingPHP框架

比方说,我正在实施一个新的环境,我想在这个特定的环境中testing不同的PHP框架。 有没有办法(也许是一个工具,我不知道)自动testing所有这些框架? 我正在使用Apache / PHP和Docker(容器),我想看看它将如何响应(在速度,优化方面)运行可能在我的平台上使用的PHP框架(无需单独testing)。 提前致谢!

使用Docker和Dependecy Injection Framewrok

我想做两个模块的集成testing:一个是我的应用程序,可以根据一些业务规则发送电子邮件。 在开发环境中,我嘲笑电子邮件代理,所以send_email被嘲笑。 所以我有一个工厂,build立真正的代理电子邮件或只是一个模拟。 当我部署我的应用程序,我希望它使用一个真正的代理。 我将使用docker容器来部署它。 什么是最好的方法? 我可以使用Dependecy注入框架来更改代理电子邮件吗?

用DockertestingMongo

给了docker-compose的以下文件 version: '2' services: sut: build: . command: /bin/bash #nosetests depends_on: – mongo mongo: image: mongo 我尝试连接到一个mongo服务器。 这个雄心勃勃的计划,我没有太多的了解。 我假设Mongo服务器在docker容器(名为sut)上运行的服务器,例如我可以直接从Python进行寻址 MongoClient(host="localhost", port=27017) 不幸的是,我面临着解决上述docker问题的问题 – 例如: thomas@linuxclientlobnek01:~/github/pydata$ docker-compose -f docker-compose.test.yml up Starting pydata_mongo_1 Recreating pydata_sut_1 Attaching to pydata_mongo_1, pydata_sut_1 mongo_1 | 2016-07-18T10:17:03.967+0000 I CONTROL [initandlisten] MongoDB starting : pid=1 port=27017 dbpath=/data/db 64-bit host=cdaf9f862a16 mongo_1 | 2016-07-18T10:17:03.967+0000 I […]

在部署前运行dockertesting的最佳方式是什么?

我目前的设置是,我已经在我的VPS调用中设置了我的git裸仓库。 所以,当我这样做: git push staging staging 我重新运行我的docker安装目录引用git-workdirs。 现在,我还想添加在Docker中运行testing,如果失败了,请回滚到之前的(工作)提交。 [1] 什么是最好的办法[1] 我目前的钩子是这样的: $worktree = /my/work/directory $gitdir = /my/repo/dir.git $containername = mycontainer git –work-tree=$worktree –git-dir=$gitdir checkout staging -f cd $worktree docker stop $containername || true docker kill $containername || true docker rm $containername || true docker run -d -p $port1:$port2 –name $containername -v $worktree:/root/src -it $imagename bash […]

照常运行testing对docker集装箱或dockerizetesting?

我是Docker的新手,正在读Docker。 这是一个很好的方式来testing自包含和可重复的标准化configuration系统(如果正确的话)。 但是,在我读过的所有内容中,似乎并没有太在意Docker容器如何进行testing。 docker用于“包含”基础架构和应用程序(代码)以便于testing(以及部署)。 但是有时testing代码库会很大,而且也不是那么简单。 而且可以有APItesting的testing代码库,UI的另一个testing代码库等等。 什么是或应该(在某些时候确定)testingdocker集装箱/部署您的应用程序/基础设施的标准做法? 应该: testing代码被部署为旧的常规方式,作为文件存储库你从某个地方拉,然后在Jenkins服务器/从属或一个本地主机上运行dev / QAtesting/debugging,testing的目标是在docker容器中的应用程序? dockerize整个testing代码库作为一个自包含的容器,然后使用该容器来启动/执行testing对其他具有应用程序代码/系统基础设施的容器? 结合testing作为单独的docker集装箱本身的一部分,以在需要时运行。 但是,我认为这只适用于真正与容器匹配的应用程序代码的unit testing。 集成,用户界面,系统级别testing与系统内的应用程序模块不同。 我能想到的唯一原因是使dockerizingtesting可能有用,它是一个包含所有您需要的testing和匹配testing基础设施(所有testing平台/语言依赖项)的容器,以便可以随时随地部署和运行testing匹配的应用程序代码容器。 使用户无需根据需要设置testing基础架构。 但似乎没有为docker化testing发表过这样的文章。

dockerunit testing设置

我想为我的产品设置一个unit testing环境。 我有一个在Lua中使用mysql和redis的nginx上构build的web应用程序。 我认为docker工人对这个很好,虽然我对docker工人是新手 。 我的应用程序运行在centos服务器(生产服务器)上。 我打算为mysql,redis和webapp设置不同的容器,然后在我的mac(我的开发机器是MAC)或VMtesting它中写UT应用程序(使用Busted框架对Lua进行unit testing)。 UT应用程序将与docker容器nginx进行通信,nginx将使用容器mysql和redis。 这个好吗 ? 如果是的话,有人可以指导我如何做到这一点? 也许一些很好的链接? 如果不是的话,有什么更好的办法。 我已经尝试过使用stream浪汉,但花了太多的时间,这不应该在我的UT的情况下。

有没有办法用pytest来testing沙箱,特别是文件系统的访问?

我有兴趣使用pytest在像docker这样的沙箱中执行可能不受信任的testing,类似于持续集成服务所做的。 我知道,为了正确的沙箱化一个python进程,你需要操作系统级别的隔离,就像在一次性的chroot /容器中运行testing一样,但是在我的用例中,我不需要防止有意识的恶意代码,只能从配对的危险行为“随机”function与参数。 所以较不严格的沙盒仍然可以接受。 但我没有find任何插件,使任何forms的沙箱​​。 在pytest中,沙盒testing执行的最佳方式是什么? 更新 :这个问题不是关于python sandboxing的一般情况,因为testing的代码是由pytest运行的,我不能改变它被执行的方式来使用exec或ast或其他。 另外使用pypy-sandbox不是一个不幸的select,因为它是PyPy特性页面的 “仅限原型”。 更新2 :pytest-dev邮件列表上的Hoger Krekel build议通过pytest-xdist使用专用的testuser进行用户级隔离: py.test –tx ssh=OTHERUSER@localhost –dist=each 这让我意识到 ,对于我的CI类用例: 拥有一个“一次性”环境与隔离环境同样重要,因此每个testing或每个会话都从相同的初始状态运行,并且不受可能由testuser (/ home / testuser,/ tmp,/ var / tmp等)。 因此,testuser + xdist接近解决scheme,但不是那里。 只是为了上下文我需要隔离来运行pytest-nodev 。

在Docker构build中caching“去获取”

我想在docker-compose脚本中封装我的golangunit testing,因为它依赖于几个外部服务。 我的应用程序有相当多的依赖,所以需要一段时间才能go get 。 我怎样才能caching包允许docker容器build立,而无需每次我想testing下载所有依赖关系的方式? 我的Dockerfile: FROM golang:1.7 CMD ["go", "test", "-v"] RUN mkdir -p /go/src/app WORKDIR /go/src/app COPY . /go/src/app RUN go-wrapper download RUN go-wrapper install 每次我想运行我的unit testing时,我运行docker-compose up –build backend-test在以下脚本中: version: '2' services: … backend-test: build: context: . dockerfile: Dockerfile image: backend-test depends_on: … 但是现在每次我想运行testing时都会调用go-wrapper download ,并且需要花费一些时间才能完成。 解决scheme? 提前致谢!