我使用PHPUnit自动测试我的应用。我想断言函数调用的结果,它可以返回一个布尔值或一个字符串。我的代码如下所示:
$myExample = new MyExample();
$value = $myExample->getValue();
if ($value !== false) {
assertNotNull($value);
assertFalse(empty($value));
}
但是也可以检查方法是否成功执行?是" assertTrue($ value)"正确的方法?
答案 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()