Создание модульного теста (c #) в Visual Studio 2010. Что я делаю не так? Тест всегда проходит неудачно - PullRequest
1 голос
/ 29 февраля 2012

У меня есть одна форма: FormPrincipal.cs

В этой форме есть открытый метод InsertionSort (), принимающий 2 параметра: int [] (представляющий список целых чисел) и int , представляющий размер (число элементы) списка. Эта функция просто упорядочивает список с помощью алгоритма «Вставка сортировки»

Метод ничего не возвращает (потому что в логике моего приложения список просто упорядочен, а так как массив является точкой, тогда исходный список просто изменяется в правильном порядке).

Я пытаюсь проверить, упорядочивает ли функция список.

Я создал модульный тест в Visual Studio (не как отдельный проект), но он всегда говорит «не удалось», не отображая никаких сообщений. Что я делаю не так? Код выглядит следующим образом:

 [TestMethod()]
    public void InsertionSortTest()
    {
        FormPrincipal target = new FormPrincipal(<some parameters>);
        target.loadData(); // function which load the list to be ordered
        int[] list1 = new int[10];
        list1 = {1,4,3,5,2,6,7,9,8,0);
        target.InsertionSort(list1,10);
        bool listaOrderedOrNot = isListOrdered(list1, 10); // isListOrder is just a function in the same file of the test where I loop the array checking if elements are growing.
        Assert.Inconclusive("A method that does not return a value cannot be verified.");
        // I tried to do the following assert command..
        Assert.AreEqual(listaOrderedOrNot, true,"ordered");
        Assert.IsTrue(listaOrderedOrNot, "ordered");
        Assert.IsFalse(listaOrdenadaOrNot, "NOT ordered");
    }

Полагаю, это может зависеть от того факта, что InsertionSort () ничего не возвращает, но Visual Studio не выдает ошибок и не выводится сообщение (например, "заказано" или "НЕ заказано").

Тест просто не проходит, когда я его запускаю

Спасибо за любую помощь

1 Ответ

4 голосов
/ 29 февраля 2012

Удалить Assert.Inconclusive("A method that does not return a value cannot be verified.");.
Это в основном говорит VS, что вы не реализовали свой тест.


Когда у вас есть массив, вы можете просто использовать array.Length для получения размера массива, нет необходимости передавать размер.


Ваш алгоритм сортировки не принадлежит классу формы.

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