2
私の環境変数がtravis.ciのphpunitテストの中で読み取られない理由を理解できますか?Travis.ci環境変数がphpunitで読み取られない
私は、私が作業しているphp/javascriptアプリケーション用のtravisを使っていくつかの自動テストを書こうとしています。しかし、travisからphpunitに読み込む環境変数を調べるテストを書いたとき、それらは失敗します。これは、環境変数がphpunitで読み取れないか、適切にtravisテストに渡されていないことを(私が知る限り)意味します。環境変数をエクスポート
.travis.yml
language: php
php:
- '7.0'
- '7.1'
before_install:
- echo "extension=ldap.so" >>php --ini | grep "Loaded Configuration" | sed -e "s|.:\s||"``
install:
- cd test
- npm install
- cd ..
script:
- echo $API_BASE_URL
- phpunit test/build_tests.php
notifications:
on_success: never
on_failure: never
PHPUnitのテストファイル
<?php
use PHPUnit\Framework\TestCase;
class build_tests extends TestCase
{
public function testForEnv()
{
$this->assertEquals(isset($_ENV['API_BASE_URL']), true);
$this->assertEquals(isset($_ENV['DRINK_SERVER_URL']), true);
$this->assertEquals(isset($_ENV['LOCAL_DRINK_SERVER_URL']), true);
$this->assertEquals(isset($_ENV['RATE_LIMIT_DROPS_DROP']), true);
$this->assertEquals(isset($_ENV['DEBUG']), true);
$this->assertEquals(isset($_ENV['DEBUG_USER_UID']), true);
$this->assertEquals(isset($_ENV['DEBUG_USER_CN']), true);
$this->assertEquals(isset($_ENV['USE_LOCAL_DRINK_SERVER']), true);
}
}
?>
トラビス
$ Setting environment variables from repository settings
$ export DRINK_SERVER_URL=https://drink.csh.rit.edu:8080
$ export LOCAL_DRINK_SERVER_URL=http://localhost:3000
$ export RATE_LIMIT_DROPS_DROP=3
$ export DEBUG=true
$ export DEBUG_USER_UID=[secure]
$ export DEBUG_USER_CN=[secure]
$ export USE_LOCAL_DRINK_SERVER=true
$ export API_BASE_URL='api/index.php?request='
PHPUnitの結果
PHPUnit 6.1.1 by Sebastian Bergmann and contributors.
F 1/1 (100%)
Time: 260 ms, Memory: 6.00MB
There was 1 failure:
1) build_tests::testForEnv
Failed asserting that true matches expected false.
/home/travis/build/devinmatte/WebDrink-2.0/test/build_tests.php:9
FAILURES!
Tests: 1, Assertions: 1, Failures: 1.
は、誰かが私の環境変数が、私はPHPUnitテストの内部で読まれていない理由を私は理解するのに役立つことはできますか?とても感謝しております。
'getenv()'は偶然に '$ _EVV'ではなく機能しますか? http://stackoverflow.com/questions/3780866/why-is-my-env-empty – sman591