2

CakePHPv2.3経由でPHPUnit3.7.10を使用しており、以下を実行しています。

$this->assertEquals(array('a', 'b', 'c'), array('a', 'c', 'd'));

そして私が得るのは:

Failed asserting that two arrays are equal.

ここで概説されているように、なぜ以下の差分を取得しないのですか?http://www.phpunit.de/manual/current/en/writing-tests-for-phpunit.html#writing-tests-for-phpunit.assertions.assertEquals.example5

Failed asserting that two arrays are equal.
--- Expected
+++ Actual
@@ @@
 Array (
     0 => 'a'
-    1 => 'b'
-    2 => 'c'
+    1 => 'c'
+    2 => 'd'
 )

私は何が欠けていますか?

更新します。test.php?case = Cache / Engine / PhpUnit&debug=1を介して呼び出されたテストファイル

<?php

class PhpUnitTest extends CakeTestCase {
    public function testDiff() {
        $this->assertEquals(array('a', 'b', 'c'), array('a', 'c', 'd'));
    }
}
4

3 に答える 3

0

私のために働く:

<?php
class SoTest extends PHPUnit_Framework_TestCase
{
    public function testIt()
    {
        $this->assertEquals(array('a', 'b', 'c'), array('a', 'c', 'd'));
    }
}
?>

出力:

$  phpunit SoTest.php 
PHPUnit 3.7.10 by Sebastian Bergmann.

F

Time: 0 seconds, Memory: 3.00Mb

There was 1 failure:

1) SoTest::testIt
Failed asserting that two arrays are equal.
--- Expected
+++ Actual
@@ @@
 Array (
     0 => 'a'
-    1 => 'b'
-    2 => 'c'
+    1 => 'c'
+    2 => 'd'
 )

/home/cweiske/SoTest.php:6

FAILURES!
Tests: 1, Assertions: 1, Failures: 1.
于 2012-12-30T20:21:40.837 に答える
0

ブラウザで単体テストを実行しています。--debug修飾子を使用してCLIで実行すると、期待される結果が表示されます。Webブラウザーを使用してテストを実行するときに、URLの最後に追加&debug=1してみることもできますが、それは私にとっては何度も機能しませんでした。

于 2012-12-30T20:30:03.597 に答える
0

これはCakePHP2.3のリグレッションバグでした。https://github.com/cakephp/cakephp/commit/659715664d648d9a599002b5a7c3b55505efdcdeで修正済み

参考までに、私が開いたチェックマークは次のとおりです:http: //cakephp.lighthouseapp.com/projects/42648/tickets/3503-23-suppresses-phpunit-diff-output

于 2013-01-02T15:39:02.560 に答える