2010-01-16 5 views
2

У меня есть комплект TestFixtures, работающий нормально. Я добавил новый тест в прибор, но по какой-то причине я не могу его запустить. Другие тесты в других классах и даже в одном классе отлично работают.Зачем нужны тесты с использованием NUnit/TestDriven.Net2.0?

  • Оба NUnit GUI/TestDriven аварии

Если я бегу от NUnit GUI я получаю эту ошибку:

NUnit перестала работать с этим сообщением

Description: 
    Stopped working 

Problem signature: 
    Problem Event Name: CLR20r3 
    Problem Signature 01: nunit.exe 
    Problem Signature 02: 2.5.3.9345 
    Problem Signature 03: 4b2334ce 
    Problem Signature 04: Engine 
    Problem Signature 05: 1.0.0.0 
    Problem Signature 06: 4b51c6fe 
    Problem Signature 07: ad 
    Problem Signature 08: 0 
    Problem Signature 09: System.StackOverflowException 
    OS Version: 6.0.6001.2.1.0.768.3 
    Locale ID: 2057 

с использованием TestDriven.Net 2.0 внутри VS2008, получите эту ошибку:

TestDriven.Net 2,0 перестали работать

Description: 
    Stopped working 

    Problem signature: 
     Problem Event Name: CLR20r3 
     Problem Signature 01: processinvocation86.exe 
     Problem Signature 02: 3.0.2556.0 
     Problem Signature 03: 4af0254b 
     Problem Signature 04: Engine 
     Problem Signature 05: 1.0.0.0 
     Problem Signature 06: 4b51c6fe 
     Problem Signature 07: ad 
     Problem Signature 08: 0 
     Problem Signature 09: System.StackOverflowException 
     OS Version: 6.0.6001.2.1.0.768.3 
     Locale ID: 2057 

ответ

6

Ну, кажется, достаточно ясно, что вы вызываете переполнение стека. StackOverflowException - фатальное исключение, которое приведет к снижению CLR - вот почему вы видите эту проблему.

Я предлагаю вам отлаживать тест, чтобы определить причину переполнения стека. Это, как правило, проблема с рекурсией. Например, если вы опечатка в собственности:

private readonly int age; 

public int Age 
{ 
    get { return Age; } // should be "return age;" 
} 

Это вызовет переполнение стека - но так может неосторожно написал рекурсивные методы.

+0

Спасибо, друг, цените. –

+0

Спасибо, это было * точно * моя проблема! :) – gehho