2015-04-13 3 views
13

Я пытаюсь начать писать модульные тесты в проекте. Сначала я написал CreateTest и попробовал. Этот тест прошел, и я начал писать другие тесты.Тесты решара не выполняются

Теперь все мои тесты просто говорят: «Тест не работает». Это происходит как при попытке запуска всех тестов сразу, так и при выполнении одного теста.

https://github.com/Requinard/OperationOctopus/tree/UnitTest

Все, что я нашел до сих пор люди используют NUnit. Мы используем стандартную среду тестирования microsoft, с повторным запуском тестов.

[TestMethod] 
    public void CreateTest() 
    { 
     Init.Initialize(); 
     // set up 
     UserModel user = new UserModel(); 

     user.Address = "Testing Street 1"; 
     user.Email = "[email protected]"; 
     user.Level = 2; 
     user.Password = "test"; 
     user.RfiDnumber = "00d0wad0aw"; 
     user.Telephonenumber = "0638212327"; 
     user.Username = "testcaseuser"; 

     Assert.IsTrue(user.Create(), "Cannot write user to database"); 

     test_user = user; 
    } 

    [TestMethod] 
    public void ReadTest() 
    { 
     Init.Initialize(); 
     // set up 
     UserModel user = getTestUser(); 

     Assert.AreEqual(user.Email, test_user.Email, "Reading returned an unexpected result"); 
    } 

    [TestMethod] 
    public void AlterTest() 
    { 
     Init.Initialize(); 
     UserModel user = getTestUser(); 

     user.Email = "[email protected]"; 

     Assert.IsTrue(user.Update(), "Failure during updating"); 

     user.Read(); 

     Assert.AreNotEqual(user.Email, test_user.Email); 
    } 

    [TestMethod] 
    public void DestroyTest() 
    { 
     Init.Initialize(); 
     UserModel user = getTestUser(); 

     Assert.IsTrue(user.Destroy(), "Could not destroy user"); 
    } 

Приведенные выше тесты сделают ReSharper сказать «Тест не запускается»

Я просто попытался запустить тесты на моем ноутбуке. Они работали без каких-либо изменений в коде, и тест был завершен мгновенно. Это заставляет меня думать, что я имею дело с неисправным конфигом где-то.

+1

Пожалуйста, включите соответствующий код в вопрос. –

+0

Попробуйте запустить debug и перейдите, чтобы увидеть, что происходит. –

+0

Я установил точку останова в первом выражении CreateTest() и выполнил отладку. Visual studio начал загрузку нагрузки символов, а затем быстро прекратил мой сеанс отладки. – Samyn

ответ

-5

Кажется, что был плохой конфиг/где-то /. Я переустановил всю систему, затем VS2013 и R #. Тесты теперь работают нормально.

+6

Переустановка всей системы не является возможным решением для большинства людей. – bak202

+0

@ bak202 true, true. Лучше всего смотреть на все журналы. Этот способ решения проблем на самом деле является большой проблемой и препятствием для обучения. @Samyn не бойтесь подойти к большому количеству журналов и решить проблему в «стиле разработчика» :) Переустановка системы тратит ваше время. Взятие на журналы заставляет вас бежать. –

+2

выжженной земли, чтобы убить муху. – joelmdev

26

Я думаю, что перезапуск всей системы, возможно, был преждевременным. Я нашел, когда это происходит, все, что вам нужно сделать, это перезапустить Resharper.

Я обычно делаю это из командного окна в Visual Studio, нужно просто ввести эти команды один за другим

Resharper_Suspend 
Resharper_Resume 

это обычно исправляет проблему для меня и не требует повторного открытия решения.

Если это не удастся, вы можете очистить кеширование решара. Информация может быть просмотрена here о том, как это сделать.

+0

Я сделал это через меню опций Visual Studio. Работал! – willem

+0

Спасибо @BastanteCaro .. Resharper может быть болью – Mike

3

Это также случилось со мной, и нашел причину здесь: http://www.henrikbrinch.dk/Blog/2012/02/15/Making-Resharper-testrunner-work-in-64-bit

Это исправление на самом деле жестко, и то, что я сделал это изменить конфигурацию: VS2015 -> ReSharper -> Параметры -> Модульное тестирование -> по умолчанию архитектуры платформы - Force тестов для работы в 32-разрядного процессе

Надеется, что это поможет вам

+0

Не сделал для меня никакого изменения, к сожалению. Та же проблема. – willem

5

Убедитесь, что вы не делаете то, что я делаю, и полностью забыть, что решение находится в режиме выпуска с помощью теста проект будет построен только в модуле отладки e ;-)

+2

doh! вот что я только что сделал, спасибо! – matao

Смежные вопросы