运行我的第一个测试时,PHPunit Framework TypeError

时间:2017-06-14 13:11:26

标签: php unit-testing phpunit

我已经设置了用于测试的PHPunit框架,在运行简单的测试后,我得到了一个TypeError:

SampleTest::testTrueAssertsToTrue
TypeError: Argument 3 passed to 
SebastianBergmann\GlobalState\Snapshot::__construct() must be of the type boolean, null given, called in /usr/share/php/PHPUnit/Framework/TestCase.php on line 2412

我的测试用例如下:

class SampleTest extends \PHPUnit_Framework_TestCase
{

  public function testTrueAssertsToTrue()
  {
    $this->assertTrue(true);
  }

}

PHPunit版本是^ 6.2,以下是配置XML文件:

<?xml version="1.0" encoding="UTF-8"?>
<phpunit bootstrap="vendor/autoload.php"
         colors="true"
         verbose="true"
         stopOnFailure="false">
      <testsuites>
        <testsuite name ="Test suite">
          <directory>tests</directory>
        </testsuite>
      </testsuites>
</phpunit>

请帮助我整天在网上搜索,我找不到解决方案。

1 个答案:

答案 0 :(得分:3)

由于您使用的是phpunit 6.2,\PHPUnit_Framework_TestCase已被删除,您应该改为扩展命名空间PHPUnit\Framework\TestCase

<?php

use PHPUnit\Framework\TestCase;

class SampleTest extends TestCase
{

  public function testTrueAssertsToTrue()
  {
    $this->assertTrue(true);
  }

}

您可以在travis-ci上验证成功构建:

https://travis-ci.org/scratchers/phpunit6truetest/builds/242989226