Mam bardzo frustrujący problem w Visual Studio. Używam Resharpera i piszę testy w Nunit.Problem z debugowaniem Visual Studio z Resharperem/Nunitem
Jeśli ustawię punkt przerwania, zostanie on trafiony, jednak kroki Wejść/Zakończ i Kontynuuj nie działają, a test nigdy się nie kończy. Nawet jeśli ustawię dwa punkty przerwania, kontynuowanie nie trafi drugiego. Jeśli debuguję test bez punktu przerwania, kończy się on dobrze.
Również często i przerywany, gdy próbuję debugowania test ustawiając punkt załamania, nie mogę oceniać zawartość zmiennych, ale zamiast zobaczyć tę wiadomość:
Function evaluation disabled because a previous function evaluation timed out. You must continue execution to reenable function evaluation.
jestem używając Visual Studio 2010.
Daj mi znać, jeśli masz jakieś pomysły na to, na co patrzę ... Przeszukałem sieć, ale bez powodzenia.
Z przyjemnością udzielimy dodatkowych informacji, jeśli zajdzie taka potrzeba.
EDIT - Przykład sposobu
Test:
[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);
}
Kiedy ustawić punkt przerwania na rachunku Twierdzę i spróbować ocenić tabeli danych otrzymuję ten problem.
AKTUALIZACJA 2! Zredukowszyłem ten problem do debugowania Resharper. Zmieniłem klasę testową na MSTest zamiast NUnit, ale nadal mam oba powyższe problemy podczas debugowania z Resharperem. Jednakże, gdy przeprowadziłem testy z wbudowanym testerem VS MSTest, WSZYSTKO problem został rozwiązany!
Teraz wolę używać NUnit i Resharper, więc byłbym bardzo szczęśliwy, gdyby ktoś mógł wskazać mi ustawienie, które pozwoli Resharperowi poprawnie debugować!
Widziałem dokładnie to, o czym mówisz. To nie jest związane z Resharper/Nunit. Dzieje się tak, gdy próbujesz ocenić te zmienne.Zobaczę, kiedy spróbuję rozwinąć 'List <>' lub coś podobnego ('Dictionary <,>'). Jeśli możesz uniknąć oceny, która powoduje komunikat, możesz kontynuować debugowanie. Teraz, po prostu wiem, że kiedy dostaję ten komunikat o błędzie, przestaję debugować i restartuję, a następnie spróbuj nie oszacować zmiennej, która spowodowała problem. Chciałbym wiedzieć, jak temu zapobiec. –
Dzięki Joel, jest to praca dla niektórych przypadków, jednak często próbuję dokładnie ocenić te zmienne. Bardzo frustrujące! Mam tylko nadzieję, że ktoś tu może pomóc! –
Czy jest możliwe, że funkcja, którą oceniasz, ciągle się zapętla? Czy możesz podać prosty przykład tego rodzaju testów, w których to widzisz? –