2017-02-27 19 views
0

我正在編寫一個PHPspec測試,用於測試是否使用正確參數(在對象的情況下)調用某個方法。phpspec - 檢查是否使用特定參數(對象)調用方法

我做這樣的事情(僞代碼),我的規格內:

function it_some_test(MyService $myservice) { 
    $object = new MyDomainObject(); 
    $object->setPropertyX("some value") 

    $myservice->getSomething($object)->shouldBeCalled(); 

}

的對象就是我的服務中創建的DTO。它在原始服務中的創建方式完全相同。只是某些屬性的價值根據相同的邏輯而改變。那就是我想要測試的。

問題是我的測試總是失敗,因爲它說$對象與它所不同的是它不同,但它們具有完全相同的屬性值。

PHPspec如何比較對象?如果我傳遞參數::任何()而不是它的作品,但我需要測試作爲具有特定值的屬性傳遞的對象。

+0

結帳這個答案,可以幫助你以及:http://stackoverflow.com/questions/42307939/how-to-get-property-from-stub-function-argument 但是,如果值都是相同的,即使不建議保持對象實現及其用法在同一類中,它也應該通過 – DonCallisto

回答

0

我發現了這個問題。我在調用真正的測試方法之前調用了方法 - > shouldBeCalled()。更改訂單,現在就可以使用。

相關問題