我最近在ApprovalTests中遇到了一個問題,其中diff工具(BeyondCompare 3,在我的情況下;我有一個同事使用相同的問題WinMerge)閃爍,然後立即關閉。該工具保持打開狀態的唯一方法是在運行測試之前打開該工具。ApprovalTests DiffReporter不彈出diff窗口,除非diff工具打開
我正在使用ApprovalTests 3.6;我知道這個問題也存在於以前的版本中。
的方法調用驗證很簡單:
[UseReporter(typeof(DiffReporter))]
protected void VerifyTables(IEnumerable<DataTable> tables, bool showSchema = false)
{
Approvals.VerifyAll(tables.Select(t => GetXmlForApproval(t, showSchema).ToString()), "");
}
至於BeyondCompare而言 - 我已經在Visual Studio TFS比較這個問題,這是由於TFS被設置爲調用BCompare.exe而不是BComp.exe。所以,我試着做一個BeyondCompareReporter
的自定義實現,它調用BComp.exe而不是BCompare.exe,但是在這種情況下使用它並沒有什麼不同。
很酷,KeepExecutorAliveAfterLegacyRun正是我所需要的!使用VS2013測試運行器或ReSharper's時,無論使用runsettings文件,testsettings文件還是沒有設置,都會出現該問題。但是在runsettings文件中設置該值會修復它! –