有誰知道是否有辦法強制CakePHP TestSuite在失敗時查看斷言的Expected和Result值?典型的PHPUnit測試在輸出中默認顯示它,但不是Cake的TestSuite(它使用PHPUnit)。從這一方面來說,當我在NetBeans中調試一個測試用例時,每當我嘗試爲變量設置一個監視時,就會得到某種套接字異常,並且它僅發生在CakePHP測試用例中,它在evry其他源文件中正常工作。有沒有解決這個問題的方法?在CakePHP測試中顯示斷言的結果和期望值
0
A
回答
0
退房 http://www.dereuromark.de/2011/12/04/unit-testing-tips-for-2-0-and-phpunit/
基本上,你可以擴展TestCase類,使自己的其他方法一樣
public function details($is, $expected) {
echo 'is:' . $is; echo '<br />';
echo 'expected: ' . $expected; ob_flush();
}
和內部或某物調用它的失敗。或者你只是在各處調試()。
0
好的我以某種方式解決了當你更新Cake Library文件時,解決方案將被抹去。你需要編輯文件lib\Cake\TestSuite\Reporter\CakeHtmlReporter
並更改方法:
public function paintFail($message, $test)
{
$trace = $this->_getStackTrace($message);
$testName = get_class($test) . '(' . $test->getName() . ')';
echo "<li class='fail'>\n";
echo "<span>Failed</span>";
echo "<div class='msg'><pre>" . $this->_htmlEntities($message) . "</pre></div>\n";
echo "<div class='msg'>" . __d('cake_dev', 'Test case: %s', $testName) . "</div>\n";
echo "<div class='msg'>" . __d('cake_dev', 'Stack trace:') . '<br />' . $trace . "</div>\n";
echo "</li>\n";
}
到:
public function paintFail($message, $test) {
$trace = $this->_getStackTrace($message);
$testName = get_class($test) . '(' . $test->getName() . ')';
echo "<li class='fail'>\n";
echo "<span>Failed</span>";
echo "<div class='msg'><pre>" . $this->_htmlEntities($message->getComparisonFailure()->toString()) . "</pre></div>\n";
echo "<div class='msg'>" . __d('cake_dev', 'Test case: %s', $testName) . "</div>\n";
echo "<div class='msg'>" . __d('cake_dev', 'Stack trace:') . '<br />' . $trace . "</div>\n";
echo "</li>\n";
}
,這將輸出你這樣的事情時斷言失敗:
Failed asserting that two arrays are equal.--- Expected
+++ Actual
@@ @@
Array (
- 0 => 'Crypto3DS'
- 1 => 'Zlib'
+ 1 => 'Crypto3DS'
+ 2 => 'Zlib'
)
更快的測試在蛋糕Yeppie:D
相關問題
- 1. 多重期望/斷言來驗證測試結果
- 2. 多行期望RSpec測試斷言?
- 3. sp_executesql的不顯示期望的結果
- 4. VS2012使測試結果顯示在測試結果窗口
- 5. Python單元測試:使鼻子顯示失敗的斷言值
- 6. 在量角器中驗證測試結果(非「期望」功能)
- 7. Python--打印結果示出「無」和期望的結果
- 8. TestNG測試結果在Eclipse結果窗口中未顯示
- 9. 無法在jsp中顯示期望值
- 10. VS2008中的測試結果窗口沒有顯示結果
- 11. 檢索期望的data.frame測試期望
- 12. XCTest顯示刪除測試的結果
- 13. 期望的內容應顯示在網絡搜索結果
- 14. 如何在CakePHP中顯示結果集的結果?
- 15. 斷言日期時測試失敗
- 16. 方式斷言dbfit測試空結果是正確的
- 17. 測試Ember.Logger.error斷言
- 18. Asynchronus斷言在JavaScript測試
- 19. JMeter斷言結果
- 20. SonarQube不顯示單元測試結果
- 21. Clojure的測試:測試斷言
- 22. 爲什麼這個逐字字符串不工作,因爲我期望單元測試斷言並在調試器中顯示一個奇怪的值?
- 23. 單元測試,自動顯示集合中的每個對象的斷言結果
- 24. 硒測試報告沒有顯示所有的測試結果
- 25. QUnit的JavaScript單元測試顯示斷言數量不考數
- 26. 顯示在Visual Studio的Output標籤中的Gallio測試結果?
- 27. 測試失敗的期望
- 28. 多個測試摩卡/ chai /期望值
- 29. 斷言錯誤期望失敗EasyMock
- 30. sshj exec不按我期望的方式顯示結果
不幸在我的情況下,當我試圖回聲從TestCase任何東西它不會在瀏覽器中,再加上它看起來有點hacky。 –
你注意到了「ob_flush」嗎?你還需要輸出之前的斷言(失敗,它會立即破壞) – mark
啊是的,我錯過了沖洗的事情對不起,無論如何,我設法工作的方式,我看到它大tnx無論如何:) –