我在Visual Studio中有一個非常令人沮喪的問題。我正在使用Resharper,並在Nunit中編寫測試。Visual Studio調試問題與Resharper/Nunit
如果我設置了一個斷點,它確實受到了打擊,但是「跳入/跳過」和「繼續」不起作用,並且測試從未結束。即使我設置了兩個破發點,繼續不會達到第二個。如果我調試一個沒有斷點的測試,它會很好地完成。
而且,經常和間歇性,當我試圖通過設置斷點調試測試,我無法評價變量的內容,而是看到這條消息:
Function evaluation disabled because a previous function evaluation timed out. You must continue execution to reenable function evaluation.
我使用Visual Studio 2010.
請讓我知道,如果你有什麼想看什麼...我已經搜遍網絡,但沒有任何運氣。
如果需要,歡迎提供進一步的信息。
編輯 - 方法的實施
測試:
[Test]
public void OneRowAddedToSourceData() {
//Factory just returns System.Data.DataTable with correct columns.
var sourceData = new DataTableContainerFactory().GetTargetTableContainer(DataTypeNames.EventSharedEnd);
//GetRow just returns a populated row.
var row = GetRow(sourceData, 123456, 123,60, 31);
sourceData.DataTable.Rows.Add(row);
Assert.AreEqual(1, sourceData.DataTable.Rows.Count);
}
當我設置的斷言語句一個破發點,並試圖評估數據表,我得到了這個問題。
UPDATE 2! 因此,我將這個問題縮小到Resharper調試。我將測試類更改爲MSTest而不是NUnit,但在使用Resharper進行調試時仍然遇到了上述問題。但是,當我使用內置的VS MSTest測試運行器運行測試時,所有問題都消失了!
現在我更喜歡使用NUnit和Resharper,所以如果有人能夠指出我將允許Resharper正確調試的設置,我會非常高興!
我已經看到你到底在說什麼。這不是Resharper/Nunit相關的。當您嘗試評估這些變量時會發生這種情況。當我嘗試展開一個'List <>'或類似的東西時('Dictionary <,>'),我會看到它。如果您可以避免導致該消息的評估,則可以繼續調試。現在,我只知道,當我收到錯誤消息時,我停止調試並重新啓動,然後嘗試不評估導致問題的變量。願意知道如何防止這種情況發生。 –
謝謝喬爾,這是一些工作,但我經常試圖正確評估這些變量。非常令人沮喪!我只希望有人能幫到你! –
您正在評估的功能是否可能持續循環?你能提供一個簡單的例子來說明你在看什麼類型的測試? –