如何使用Bluemix构建和部署测试作业与PHP单元测试

时间:2016-08-15 05:39:29

标签: php unit-testing deployment phpunit ibm-cloud

我正在尝试为我的PHP应用程序在Bluemix上设置构建和部署管道。我正在使用PHPUnit进行测试,但似乎无法调试PHPUnit的测试阶段,因为它没有安装。构建和部署阶段对我来说非常有效我只是想在它们之间添加一个测试阶段。问题是PHP甚至没有安装在测试阶段。我快速php -v会给命令找不到错误。我是否必须安装php,apache,composer和phpunit才能让这个测试阶段起作用?有更好的方法吗?

2 个答案:

答案 0 :(得分:2)

我最终安装了apache,php7和composer,以便让phpunit正常工作。以下是我在测试阶段运行的命令。我使用了一些echo和ls语句来帮助我调试安装。我的测试在我的目录根目录下的tests文件夹下,如test / exampleTest.php,我有phpunit创建一个名为tests / Test.xml的xml输出文件,然后将该文件提供给询问"测试结果文件的框模式"那么Bluemix可以读取该文件以了解测试是成功还是失败。

#!/bin/bash
# invoke tests here
echo "  adding repo"
sudo add-apt-repository ppa:ondrej/php
echo "  updating apt-get"
sudo apt-get -y update
echo " installing apache2"
sudo apt-get -y install apache2
echo " installing php7.0"
sudo apt-get -y --force-yes install php7.0 libapache2-mod-php7.0 php7.0-xml php7.0-cli php7.0-common php7.0-fpm php7.0-curl php7.0-gd php7.0-bz2
echo " PHP TESTING"
php -v
echo " PHP TESTING 2"
php -r 'echo "\n\nYour PHP installation is working fine.\n\n\n";'
echo "  downloading composer"
curl -sS https://getcomposer.org/installer | php
echo "  installing composer"
php composer.phar install
echo "  ls"
ls
echo "  ls ../"
ls ../
echo "  ls vendor"
ls vendor
echo "  running tests"
vendor/bin/phpunit --log-junit tests/Test.xml --bootstrap vendor/autoload.php tests

答案 1 :(得分:1)

根据我之前与Bluemix DevOps团队的讨论,您必须安装每个依赖项才能使测试阶段发挥作用。