我为我的PHP应用程序使用phpunit(100%覆盖率)进行单元测试,我有这个:
$xml = simplexml_load_string($soapResponse); if (false === $xml) { throw new \Exception('invalid XML'); }
我找不到带有simplexml_load_string
return 的测试用例false
。
如果您有解决方案...谢谢
正如John C所指出的那样,无效的xml将导致simplexml_load_string返回false并生成警告。另外,您可能要禁用这些警告并进行存储。为此,您可以使用libxml_use_internal_errors和libxml_get_errors。
所以输出是:
array ( 0 => LibXMLError::__set_state(array( 'level' => 3, 'code' => 4, 'column' => 1, 'message' => 'Start tag expected, \'<\' not found ', 'file' => '', 'line' => 1, )), )这可以帮助您识别XML中有问题的部分。当XML很大时,这非常有用。