Почему происходит сбой теста с использованием NUnit / TestDriven.Net2.0? - PullRequest
2 голосов
/ 16 января 2010

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

  • Обе ошибки 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

1 Ответ

6 голосов
/ 16 января 2010

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

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

 private readonly int age;

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...