Модульный тест не работает при запуске через VS Test Explorer, но проходит через Resharper

У меня есть модульный тест в NUnit, который вызывает рекурсивную функцию C++ из кода CLI.

Единица

[Test]
public void MyTest()
{
    bool result = new MyClass().RecursiveFunction();
    Assert.True(result);
}

Как уже упоминалось, RecursiveFunction() — это функция CLI, которая просто вызывает рекурсивную функцию C++.

Модульный тест проходит, когда я запускаю его из обозревателя тестов Resharper, однако, когда я пытаюсь запустить его из обозревателя тестов Visual Studio, он терпит неудачу из-за StackOverflowException. В обоих случаях я использую конфигурацию сборки и запуска x64, и в обоих случаях я не использую теневую копию.


person Nave Tseva    schedule 26.08.2018    source источник


Ответы (2)


У нас была точно такая же проблема,
Если вы используете Team City и ваша версия nunit 2.6.4, мы обновили версию nunit до 3,9,
обратите внимание, что nunit изменил API, и обновление может занять несколько часов,
, а также структура библиотек nunit-консоли и nunit framework была изменена.
После того, как мы обновили его до новой версии Nunit, проблема была решена.

Я нашел эту проблему решенной на форумах команды города, и я обновил nunit, и это сработало.

person Gilad    schedule 24.11.2018
comment
Обновил до последней версии, вроде решил проблему. Спасибо! - person Nave Tseva; 25.11.2018

Вы проверили, что обозреватель тестов в VS Studio работает на x64? введите здесь описание изображения

person Nekeniehl    schedule 27.08.2018