我在尝试安装phpunit时遇到很多问题,也许我的知识没有用到或指南非常不完整。
首先,安装,我全局尝试了“直接下载的PHAR文件”或“sudo apt-get install phpunit
”,但是当我尝试这样做时:
$phpunit -v
bash: /usr/bin/phpunit: No chuch file or directory
如果我这样做:
$ ll /usr/local/bin (I know, the path is different, other unexplicable event)
-rwxr-xr-x 1 user user 2784899 abr 29 17:09 phpunit*
但
$ sudo phpunit --version
PHPUnit 7.1.5 by Sebastian Bergmann adn contributors.
好的,看起来更好,所以我试着制作第一个例子
<?php
use PHPUnit\Framework\TestCase;
class StackTest extends TestCase
{
public function testPushAndPop()
{
$stack = [];
$this->assertSame(0, count($stack));
array_push($stack, 'foo');
$this->assertSame('foo', $stack[count($stack)-1]);
$this->assertSame(1, count($stack));
$this->assertSame('foo', array_pop($stack));
$this->assertSame(0, count($stack));
}
}
但它给了我下一个错误:
PHP Fatal error: Class 'PHPUnit\Framework\Testcase' not found in /var/www/html/phpunit/index.php on line 4
我正在使用Ubuntu 18和php 7.2
有什么想法吗?
答案 0 :(得分:0)
当您从命令行运行PHPUnit时,您还需要包含一个&#39; bootstrap&#39; file - 它可以像composer autoload.php文件一样简单:
phpunit --bootstrap vendor/autoload.php
从长远来看,该配置将被放入phpunit.xml文件中,以便读取,并由PHPunit自动运行。
<!-- file: phpunit.xml
src/autoload.php would also include the ./vendor/autoload.php file
and do any other locally required setup -->
<phpunit bootstrap="src/autoload.php">
<testsuites>
<testsuite name="money">
<directory>tests</directory>
</testsuite>
</testsuites>
</phpunit>
答案 1 :(得分:0)
好的,我开始了解一些事情。 首先,@ Sebastian Bergmann给我提供线索,以this为例,它有效。
但是如果你从documentation开始,你就没有找到它。我认为这是一个错误,可能会让像我这样的乞丐混淆。
但是我不能用PHAR或全局安装phpunit,也许它可能是未来的新帖子。
全部谢谢