2017-06-06 5 views
0

PHPUnitのテストをアプリケーションに導入したばかりで、生成される2つのXMLファイルを比較したいと思います。陽性の検査はこれを行うには、専用のメソッドがあるので、問題にされていません。今、私は、彼らはもはや一致しないので、私は意図的に無効なXMLを作成して、負のテストを書くために探しているPHPUnit - 2つのXMLが等しくないことをアサートしました

$this->assertEqualXMLStructure(
    $expectedResultXml->firstChild, 
    $generatedResultXml->firstChild 
); 

。私はしばらくの間グーグルグーグルをしてきましたが、良い解決策を見つけられないようです(assertNotEqualXMLStructure();というメソッドのようなもの)。私は本当にPHPの初心者ですので、これは問題の可能性があります。申し訳ありませんが、それがここに当てはまる場合。

2つのXMLファイルが構造に基づいて等しくないことをテストするにはどうすればよいですか?

答えて

0

(属性が結果にも同様に分割されている)そして、あなたが配列で返された構造を比較することができ

$xml = simplexml_load_string($xml_string); $json = json_encode($xml); $array = json_decode($json,TRUE);

:あなたはこれを使用してPHPにXMLを変換することができますassertNotEqualXMLStructure()のようにする必要はありません。あなたの2つのXML文書は異なる構造を持っているので、それらのテキスト表現は同じにすることはできません。

テキストのような2つのノードの正規表現を生成し、($this->assertNotEquals()を使用して)テキスト表現が等しくない主張するDOMNode::C14N()を使用することができます。

+0

$this->assertNotEquals( $expectedResultXml->firstChild->C14N(), $generatedResultXml->firstChild->C14N() ); 
Thxをを入力するため。 – Severin

0

PHPで値を比較したことがありますか?何の方法がありません

関連する問題