Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/228.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在PHP单元测试中使用Bluemix构建和部署测试作业_Php_Unit Testing_Deployment_Phpunit_Ibm Cloud - Fatal编程技术网

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

如何在PHP单元测试中使用Bluemix构建和部署测试作业,php,unit-testing,deployment,phpunit,ibm-cloud,Php,Unit Testing,Deployment,Phpunit,Ibm Cloud,我正在尝试为我的PHP应用程序在Bluemix上建立和部署管道。我正在使用PHPUnit进行测试,但似乎无法让测试阶段调用PHPUnit,因为它没有安装。构建和部署阶段非常适合我,我只是想在它们之间添加一个测试阶段。问题是PHP甚至没有安装在测试阶段。我快速php-v将给出一个命令未找到错误。我是否必须安装php、apache、composer和phpunit才能让这个测试阶段正常工作?有更好的方法吗?根据我之前与Bluemix DevOps团队的讨论,您必须安装每个依赖项才能使测试阶段正常工作

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

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

根据我之前与Bluemix DevOps团队的讨论,您必须安装这些依赖项才能使测试阶段正常工作。

我最后安装了apache、php7和composer以使phpunit正常工作。以下是我在测试阶段运行的命令。我使用了一些echo和ls语句来帮助调试安装。我的测试在test/exampleTest.php目录根目录下的tests文件夹下,我让phpunit创建一个名为tests/test.xml的xml输出文件,然后将该文件提供给询问“test Result file Pattern”的框,这样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

我最终安装了apache、php7和composer,以使phpunit正常工作。以下是我在测试阶段运行的命令。我使用了一些echo和ls语句来帮助调试安装。我的测试在test/exampleTest.php目录根目录下的tests文件夹下,我让phpunit创建一个名为tests/test.xml的xml输出文件,然后将该文件提供给询问“test Result file Pattern”的框,这样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

我与开发团队分享了您的反馈。如果您的问题得到解决,请告诉我。有没有办法在已部署的环境中运行测试?这样我就可以部署我的应用程序,说test.example.com在它上面运行一些测试,而不必安装php、apache。。。因为它将由deploy build pack安装,如果可以,请部署到生产站点production.example.com?您可能可以配置一个用于测试的暂存应用程序和一个生产应用程序。因此,一个项目可以用于测试,如果它有效,可以设置另一个项目用于生产。如果您对IBM Bluemix DevOps服务团队有任何具体的反馈或问题,可以通过以下地址与他们联系:hub@jazz.net.I与开发团队分享您的反馈。如果您的问题得到解决,请告诉我。有没有办法在已部署的环境中运行测试?这样我就可以部署我的应用程序,说test.example.com在它上面运行一些测试,而不必安装php、apache。。。因为它将由deploy build pack安装,如果可以,请部署到生产站点production.example.com?您可能可以配置一个用于测试的暂存应用程序和一个生产应用程序。因此,一个项目可以用于测试,如果它有效,可以设置另一个项目用于生产。如果您对IBM Bluemix DevOps服务团队有任何具体的反馈或问题,可以通过以下地址与他们联系:hub@jazz.net.