2015-03-03 56 views
0

是否可以比較兩個圖像與不需要比較的面積的面具。批准測試與面具的圖像比較

我設法得到它一個基本的文件比較

[UseReporter(typeof(BeyondCompareReporter))] 
public void ThenThePageShouldMatchTheApprovedVersion() 
{ 
    SaveScreenshot("page1"); 
    Approvals.VerifyFile(@"C:\page1.png"); 
} 

工作,但我想創造的面具該地區的我指望改變。這是可能的ApprovalTests或我需要修改屏幕截圖,並在與批准的文件比較之前手動應用掩碼。或者是否可以編寫自己的驗證器?

回答

0

這是不可能的,因此比較器不會比較它們。

然而,這是很容易掩蓋實際的面積(即,將一個黑色的方形區域上方打電話確認之前)

或者,你通常可以模擬出這種情況正在改變的變量。

細節上的Comparer: ApprovalsFileComparer是一個非常愚蠢的比較器。它對文件格式一無所知,並不知道圖像是什麼。它只是比較字節和字節。這種簡單性使其能夠在任何地方工作,但是消除了對物體的聰明能力。這通常不是問題,因爲記者非常聰明。能夠渲染和比較,並做減法差異等。

快樂測試!

+0

那麼它有可能編寫你自己的比較器?也是測試或記者失敗的比較者?如果它的比較器,然後逐字節比較將無法正常工作,除非我比較已經被屏蔽的版本。 – 2015-03-04 03:42:34