全局PHPunit没有执行任何测试

时间:2017-06-16 20:01:33

标签: php testing phpunit bamboo

我有以下phpunit.xml文件:

try (Session s = new Session(g);
     Tensor learning_phase = Tensor.create(false);
     Tensor result = s.runner().feed("input", image).feed("batch_normalization_1/keras_learning_phase", learning_phase).fetch("output").run().get(0)) {

文件结构如下所示:

<phpunit bootstrap="Bootstrap.php" backupGlobals="false">
    <testsuites>
        <testsuite name="mentor">
            <directory>../module/Api</directory>
            <directory>../module/Application</directory>
            <exclude>../vendor</exclude>
          <exclude>vendor</exclude>
        </testsuite>
    </testsuites>
    <filter>
        <whitelist>
            <directory suffix=".php">../module</directory>
        </whitelist>
    </filter>
</phpunit>

现在是棘手的部分。当我运行../vendor/bin/php一切正常但是如果我运行全局phpunit(/ usr / local / bin / phpunit)它完成了“没有测试执行”的结果。有什么建议吗?

2 个答案:

答案 0 :(得分:3)

我找到了phpunit省略所有类的原因 - 这是由于TestCase我试图扩展。我的所有测试都从 Phpunit 5.7 包中的 \ PHPUnit_Framework_TestCase 继承(在供应商中)。 Phpunit 6.1.4 使用命名空间,因此我应该扩展 PHPUnit \ Framework \ TestCase 。通过在测试中更改扩展类,一切正常。

答案 1 :(得分:1)

我认为你需要像这样在作曲家里面使用psr-4:

"autoload": {
        "psr-4": {
            "": "module/"
        }
}

需要更改phpunit.xml之后:

<phpunit bootstrap="Bootstrap.php" backupGlobals="false">
    <testsuites>
        <testsuite name="mentor">
            <directory>module/Api</directory>
            <directory>module/Application</directory>
            <exclude>../vendor</exclude>
          <exclude>vendor</exclude>
        </testsuite>
    </testsuites>
    <filter>
        <whitelist>
            <directory suffix=".php">module</directory>
        </whitelist>
    </filter>
</phpunit>

我认为您需要将phpunit点更改为文件夹测试而不是模块!  像这样:

<phpunit bootstrap="Bootstrap.php" backupGlobals="false">
        <testsuites>
            <testsuite name="mentor">
                <directory>tests/</directory>
                <exclude>../vendor</exclude>
              <exclude>vendor</exclude>
            </testsuite>
        </testsuites>
        <filter>
            <whitelist>
                <directory suffix=".php">tests</directory>
            </whitelist>
        </filter>
    </phpunit>