在PHPUnit中断言boolean / string的函数结果

时间:2017-03-27 18:09:43

标签: phpunit assertion

我使用PHPUnit自动测试我的应用。我想断言函数调用的结果,它可以返回一个布尔值或一个字符串。我的代码如下所示:

$myExample = new MyExample();
$value = $myExample->getValue();
if ($value !== false) {
  assertNotNull($value);
  assertFalse(empty($value));
}

但是也可以检查方法是否成功执行?是" assertTrue($ value)"正确的方法?

4 个答案:

答案 0 :(得分:4)

如果要断言值的数据类型,则正确的方法是:

IF

END IF; PHPUnit可以验证以下任何一个:

$this->assertInternalType('[expected_data_type]', $value);

因此,要声明返回的值是布尔值,您将:

[expected_data_type]

答案 1 :(得分:0)

如果要测试某个数据的函数是否返回false,那么您可以考虑在单独的测试方法中执行此操作。与测试字符串相同。如果一次测试一种值类型,则断言不那么复杂。有些人认为每种测试方法都有一个断言是良好的单元测试实践。

$this->assertFalse( $returnVal );
$this->assertInternalType('string', $returnValue);

答案 2 :(得分:0)

$this->assertSame($expect, $actual) 

将测试类型和值(即$ expected === $ actual)。

答案 3 :(得分:0)

更新:不推荐使用的方法

如果要检查数据类型,请使用以下内容:

assertIsArray()

assertIsBool()

assertIsFloat()

assertIsInt()

assertIsNumeric()

assertIsObject()

assertIsResource()

assertIsString()

assertIsScalar()

assertIsCallable()

assertIsIterable()

assertIsNotArray()

assertIsNotBool()

assertIsNotFloat()

assertIsNotInt()

assertIsNotNumeric()

assertIsNotObject()

assertIsNotResource()

assertIsNotString()

assertIsNotScalar()

assertIsNotCallable()

assertIsNotIterable()