2016-06-29 3 views
0

PHPUnit을 사용할 때 두 개의 배열이 동일하지 않아 실패합니다. 한 번에 하나씩 배열 내의 각 항목을 비교합니다. 그러나, CodeUnit (단위 테스트를 위해 PHPUnit을 사용함)을 사용하면 배열 전체가 다르다는 사실이 나에게 덜 유용하다는 것을 알 수 있습니다. 어떻게하면 PHPUnit과 같은 방식으로 배열에 대한 비교 결과를 출력하도록 Codeception을 얻을 수 있습니까? 이것에 대한 Codeception 문서에는 아무 것도없는 것 같습니다.PHPUnit 형식으로 출력 배열 비교에 대한 Codeception을 얻으려면 어떻게해야합니까?

phpunit을 덤프 :

C:\server\Apache24\htdocs\localhost\public_html\codeception_vs_phpunit>phpunit tests\BasicTest.php 
PHPUnit 4.3.4 by Sebastian Bergmann. 

F 

Time: 141 ms, Memory: 3.75Mb 

There was 1 failure: 

1) BasicTest::testFoo 
Failed asserting that two arrays are equal. 
--- Expected 
+++ Actual 
@@ @@ 
Array (
    0 => 0 
    1 => 1 
    2 => 2 
    3 => 3 
- 4 => 4 
+ 4 => 42 
    5 => 5 
    6 => 6 
    7 => 7 
    8 => 8 
    9 => 9 
) 

C:\server\Apache24\htdocs\localhost\public_html\codeception_vs_phpunit\tests\BasicTest.php:33 

FAILURES! 
Tests: 1, Assertions: 1, Failures: 1. 

Codeception 덤프 :

C:\server\Apache24\htdocs\localhost\public_html\codeception_vs_phpunit>codecept run 
Codeception PHP Testing Framework v2.2.1 
Powered by PHPUnit 4.8.26 by Sebastian Bergmann and contributors. 

Acceptance Tests (0) --------------------------------------- 
------------------------------------------------------------ 

Functional Tests (0) --------------------------------------- 
------------------------------------------------------------ 

Unit Tests (1) --------------------------------------------- 
x BasicTest: Foo 
------------------------------------------------------------ 


Time: 1.57 seconds, Memory: 11.00MB 

There was 1 failure: 

--------- 
1) BasicTest: Foo 
Test tests\unit\BasicTest.php:testFoo 
Failed asserting that two arrays are equal. (-Expected | +Actual) 
- Array (
-  0 => 0 
-  1 => 1 
-  2 => 2 
-  3 => 3 
-  4 => 4 
-  5 => 5 
-  6 => 6 
-  7 => 7 
-  8 => 8 
-  9 => 9 
-) 
+ Array (
+  0 => 0 
+  1 => 1 
+  2 => 2 
+  3 => 3 
+  4 => 42 
+  5 => 5 
+  6 => 6 
+  7 => 7 
+  8 => 8 
+  9 => 9 
+) 

#1 C:\server\Apache24\htdocs\localhost\public_html\codeception_vs_phpunit\tests\unit\BasicTest.php:34 
#2 BasicTest->testFoo 
#3 C:\usr\bin\codecept.phar:7 

FAILURES! 
Tests: 1, Assertions: 1, Failures: 1. 

답변

0

업그레이드 Codeception에 2.2.2

https://github.com/Codeception/Codeception/blob/2.2/CHANGELOG.md#222

  • 더 나은 실패 DIFF 메시지 @ k0pernikus로
+0

지난 밤에 업그레이드를 시도했지만로드되지 않는 클래스 중 하나에 대한 대규모 오류 메시지가 나타납니다. 조사 할 시간이 없었기 때문에 2.2.1로 되돌 렸습니다. 시간이있을 때 다시 시도해보고 오류를 해결할 수 있는지 확인합니다. –

+0

배열 diff 출력이 codeception 2.2.2에서 어떻게 보이는지 예를 들어 주시겠습니까? 나는 인터넷에서 찾을 수 없습니다. 그리고이 프로젝트의 업그레이드는 일단 시도해 보았지만 복잡해졌습니다.하지만 다른 종속성으로 인해 너무 많은 오류가 발생했습니다. 무언가를 제동하지 않으면 불가능한 것처럼 보입니다. 가치가 있는지 알면 좋을 것입니다. –