1

私はphpunitテストを書いています...私のページにはいくつかの行があり、そのうちの1つは次のようになります:

<tr><td>MATCH<small><span class="glyphicon glyphicon-pushpin"></span></small></td></tr>

いくつかはこのようなものです:

<tr><td>NOT A MATCH 1</td></tr>
<tr><td>NOT A MATCH 2</td></tr>
<tr><td>NOT A MATCH 3</td></tr>

画鋲グリフアイコンのある行が「MATCH」のある行であることを確認するテストを実行するにはどうすればよいですか?

基本的に、テストでグリフコンが正しい行に表示されていることを確認したいのですが$crawler->filter('small:contains("' . $glyphCode . '")')->count()、グリフが存在することだけを確認するだけで、正しい場所にあることは確認できません。

どんな助けでも感謝します、ありがとう。

4

2 に答える 2

2

Symfony の DomCrawler で XPath セレクターを使用できます。

目的の要素を選択するには、次の XPath 式を使用します。

//td//small/span[@class="glyphicon glyphicon-pushpin"]

次に、PHPUnit アサーション内に配置します。

$this->assertEquals(1, 
   $crawler->filterXPath('//td//small/span[@class="glyphicon glyphicon-pushpin"]')->count()
);

ページで 1 つの要素が確実に見つかるように、期待値として assertEquals 1 を使用しました。

于 2015-02-04T11:00:56.557 に答える