首页 > 解决方案 > Travis CI 是否检查多个 .travis.yml 文件?

问题描述

我刚刚开始使用Travis CI进行持续集成。

我在我的 repo 的 TLD 中有这个文件:

sudo: false
language: php
php:
  - '7.1'

这是 Travis CI 看到我的配置的方式:

{
  "os": "linux",
  "php": "7.1",
  "dist": "trusty",
  "sudo": false,
  "group": "stable",
  "language": "php",
}

为什么构建失败并出现 phpunit 错误?可能是因为.travis.yml回购中的另一个文件吗?

Network availability confirmed.
...edited for brevity...
git.checkout
0.34s$ git clone  ...edited for brevity...
$ php --version
PHP 7.1.11 (cli) (built: Oct 26 2017 16:25:55) ( ZTS )
Copyright (c) 1997-2017 The PHP Group
...edited for brevity...
$ composer --version
Composer version 1.6.5 2018-05-04 11:44:59
0.15s$ phpunit
PHPUnit 6.4.3 by Sebastian Bergmann and contributors.
Usage: phpunit [options] UnitTest [UnitTest.php]
       phpunit [options] <directory>
...edited for brevity...

The command "phpunit" exited with 2.
Done. Your build exited with 1.

我不知道下一步该往哪里看。

标签: phpunittravis-ci

解决方案


phpunit退出并出现错误,因为您没有告诉phpunit在哪里查找测试。通常,您可以通过将phpunit.xml其放在 repo 的基本目录中来执行此操作。除其他外,phpunit.xml告诉phpunit哪个目录包含您的测试。

phpunit.xml应该包含这样的东西:

<?xml version="1.0" encoding="UTF-8"?>
<phpunit colors="true">
    <testsuites>
        <testsuite name="Your application name">
            <directory>./tests/</directory>
        </testsuite>
    </testsuites>
</phpunit>

替换./tests/为包含测试文件的文件夹的相对路径。

要测试您的配置,请phpunit在存储库的基本目录中运行。您应该看到与 Travis CI 相同的结果。


推荐阅读