Phpunit和作为字符串存储的浮点数字


Phpunit and floating point numbers stored as strings

我目前正在一个项目中使用BC数学扩展。

在我的单元测试中,有一些类似于下面的比较:

这将通过:

        $this->assertEquals('1.23456789123456789123434', 
                            '1.2345678912345678912343434654654654654'
        ); 

这不会通过:

         $this->assertEquals('1.23456789123456789123434', 
                             '1.23456789123456719123434'
         ); 

我读过一些信息,似乎表明如果is_numeric返回true,两个字符串将被视为数字。phpunit中是否已经有将两个数字字符串作为字符串进行比较的功能。我知道我可以写一个自定义断言,但如果功能已经存在,我不想写?

我仔细看了看,似乎看不到功能,但觉得它一定存在。。。

好的,发布后我马上算出答案。。。

你可以像这样使用$this->assertSame()。。。

这将通过:

    $this->assertSame('1.2345678912345678912343434654654654654',
                      '1.2345678912345678912343434654654654654'
    );

这不会通过:

    $this->assertSame('1.234567891234567891234343465465465465',
                      '1.2345678912345678912343434654654654654'
    );