在Travis Build中运行PHPUnit时出现问题

在Travis Build中运行PHPUnit时出现问题,php,phpunit,composer-php,travis-ci,Php,Phpunit,Composer Php,Travis Ci,我在运行Travis的PHPUnit时遇到了一些问题 我的travis配置很简单 language: php php: - 7.0 - 7.1 script: phpunit 我的phpunit.xml如下所示 <?xml version="1.0" encoding="UTF-8"?> <phpunit bootstrap="vendor/autoload.php"> <testsuites> <testsuite n

我在运行Travis的PHPUnit时遇到了一些问题

我的travis配置很简单

language: php
php:
  - 7.0
  - 7.1
script: phpunit
我的phpunit.xml如下所示

<?xml version="1.0" encoding="UTF-8"?>
<phpunit bootstrap="vendor/autoload.php">
    <testsuites>
        <testsuite name="Basic Test Suite">
            <directory suffix=".php">./tests/</directory>
        </testsuite>
    </testsuites>
</phpunit>
问题是Travis无法找到我的autoload.php。这是我在travis日志中看到的

无法打开文件/home/travis/build/nikhilkuria/nikeandphp/vendor/autoload.php

整个日志都是


这里似乎缺少什么?

正如我从您的日志输出中看到的,您没有运行composer安装命令,这就是为什么您无法打开文件/home/travis/build/nikhilkuria/nikeandphp/vendor/autoload.php。错误消息


正如我从日志输出中看到的,您没有运行composer安装命令,这就是为什么您无法打开文件/home/travis/build/nikhilkuria/nikeandphp/vendor/autoload.php。错误消息


除了Travis配置缺少composer安装步骤之外,安装PHPUnit的方式也有问题


脚本:phpunit意味着您使用全局安装的phpunit调用phpunit,该phpunit在$PATH上作为phpunit提供。您很可能不希望这样,因为您已经在composer.json中将PHPUnit列为开发依赖项。要使用使用Composer安装的PHPUnit,您需要使用脚本:./vendor/bin/PHPUnit。

除了Travis配置缺少Composer安装步骤之外,安装PHPUnit的方式也有问题

脚本:phpunit意味着您使用全局安装的phpunit调用phpunit,该phpunit在$PATH上作为phpunit提供。您很可能不希望这样,因为您已经在composer.json中将PHPUnit列为开发依赖项。要使用使用Composer安装的PHPUnit,您需要使用脚本:./vendor/bin/PHPUnit。

单个bin路径 对于在composer.json中定义了单个bin路径的情况,必须相应地调整phpunit的路径

composer.json:

.travis.yaml:

单个箱子路径 对于在composer.json中定义了单个bin路径的情况,必须相应地调整phpunit的路径

composer.json:

.travis.yaml:


指向整个日志的链接不起作用指向整个日志的链接不起作用虽然没有任何区别,但在安装部分安装依赖项在语义上更为正确,请参阅。虽然没有任何区别,但在安装部分安装依赖项在语义上更为正确,看,这就成功了。添加脚本:./vendor/bin/phpunit tests/-谢谢!这就成功了。添加脚本:./vendor/bin/phpunit tests/-谢谢!
{
    "name": "nikhilkuria/nikeandphp",
    "description": "A PHP library used to work with Nike+ API",
    "type": "library",
    "authors": [
        {
            "name": "nikhilkuria",
            "email": "nikhilkuria@gmail.com"
        }
    ],
    "require": {
        "monolog/monolog": "^1.22"
    },
    "require-dev": {
      "phpunit/phpunit": "5.7.*"
    },
    "autoload": {
        "psr-4": {"NikeAndPhp\\": "src/NikeAndPhp"}
}
}
before_script:
    - composer install
{
  ...
  "config": {
    "vendor-dir": ".Build/vendor",
    "bin-dir": ".Build/bin",
  },
  ...
}
language: php  
...
script:
  - >
    echo;
    echo "Running unit tests";
    .Build/bin/phpunit --colors  -c .Build/vendor/.../UnitTests.xml
...