Should a PHPUnit mock act like original object? How PHPUnit says "Your code suck"

Code
<?php

use PHPUnit\Framework\TestCase;

class 
Foo
{
    public static function 
one()
    {
        return 
1;
    }
}

class 
Static3Test extends TestCase
{
    public function 
testOne()
    {
        
$foo = new Foo();
        
// PHP allows to call static methods like this
        
$this->assertSame(1$foo->one());
    }
    
    public function 
testOneMock()
    {
        
$foo $this->createMock('Foo');
        
$foo->expects($this->once())
            ->
method('one')
            ->
will($this->returnValue(1));
        
        
// the same as before with a mock
        // phpunit's way to say "your code suck"
        
$this->assertSame(1$foo->one());
    }
}
Result
Time: 107 ms, Memory: 4.00MB

There was 1 warning:

1) Static3Test::testOneMock
Static method "one" cannot be invoked on mock object

PhpunitExec.php:22

WARNINGS!
Tests: 2, Assertions: 0, Warnings: 1.
Used Versions
PHP 7.2, Zend 3.0, Symfony 4.0, Laravel 5.6, PHPUnit 6.5, Doctrine 2.8