Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> NUnit 
V
    Опции темы
Red Wind
Дата 25.5.2007, 20:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 280
Регистрация: 25.6.2004
Где: Минск

Репутация: нет
Всего: 2



Скажите, как можно писать юнит тесты для void методов? И киньте пожалуйста, пару ссылок на примеры работы с NUnit, желательно на русском. Спасибо.
PM MAIL ICQ   Вверх
tol05
Дата 25.5.2007, 22:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1632
Регистрация: 21.12.2006
Где: Харьков

Репутация: 63
Всего: 170



Цитата(Red Wind @  25.5.2007,  20:57 Найти цитируемый пост)
 как можно писать юнит тесты для void методов

так их только для void и можно писать! smile

Самая лучшая документация - вместе с самим NUnit (NUnit->Sample, NUnit->Documentation), с сайта скачай. 
На русском я еще вообще ничего не видел и не знаю никого, кто видел.


--------------------
На хорошей работе и сны хорошие снятся.
PM MAIL   Вверх
Red Wind
Дата 25.5.2007, 22:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 280
Регистрация: 25.6.2004
Где: Минск

Репутация: нет
Всего: 2



Цитата(tol05 @  25.5.2007,  22:00 Найти цитируемый пост)
так их только для void и можно писать! 

Извини, ты что-то путаешьsmile.

Код

using System;
using System.Collections.Generic;
using System.Text;
using NUnit.Framework;

namespace NUnitTest
{
    class Program
    {
        static void Main(string[] args)
        {

        }
    }

    public static class ClassForTest
    {
        public static string Result()
        {
            return "!!!!!!!!!";
        }
    }

    [TestFixture]
    public class TestClass
    {

        [Test]
        public void GetSomeStuffTest()
        {
            Assert.AreEqual("!!!!!!!!!", ClassForTest.Result());
        }
    }
}


Метод ClassForTest.Result() возвращает строковое значение.

Это сообщение отредактировал(а) Red Wind - 25.5.2007, 22:50
PM MAIL ICQ   Вверх
Red Wind
Дата 26.5.2007, 02:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 280
Регистрация: 25.6.2004
Где: Минск

Репутация: нет
Всего: 2



Цитата(tol05 @  25.5.2007,  22:00 Найти цитируемый пост)
Самая лучшая документация - вместе с самим NUnit (NUnit->Sample, NUnit->Documentation), с сайта скачай. 

Искал. Не нашёл. Может кинешь ссылку? Или если размер позволяет, прилипи прямо к посту архив.
PM MAIL ICQ   Вверх
tol05
Дата 26.5.2007, 08:21 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1632
Регистрация: 21.12.2006
Где: Харьков

Репутация: 63
Всего: 170



Цитата(Red Wind @  25.5.2007,  22:50 Найти цитируемый пост)
Метод ClassForTest.Result() возвращает строковое значение

извини, просто мы по-разному толковали фразу. smile

Я имел в виду, что GetSomeStuffTest() - должна быть void.
Иначе в вопросе пропадает смысл. Какая разница сколько строчек и какого кода находится внутри тест-функции? 

Тесты можно писать для всего. Главное - определить критерий его успешности. Если я правильно понимаю, тебе нужно определить успех или неуспех теста, использующего одну ф-цию, возвращающую void. Варианты есть...
Например, условием прохождения теста может быть возникновение определенного (или любого) исключения при вып. кода ClassForTest.Result(). Или как раз отсутствие выброса исключения.
Или можно проверить результаты после выполнения ClassForTest.Result()
Код

[Test]    
        public void GetSomeStuffTest()    
        {    
ClassForTest.Result();                
Assert.AreEqual("!!!!!!!!!", ClassForTest.PropertyValue);    
        }

да еще много чего. Надо к процессу подходить творчески.

ссылка на сайт NUnit
Если отдельно доки не будет - значит она в архиве вместе с самим NUnit


--------------------
На хорошей работе и сны хорошие снятся.
PM MAIL   Вверх
Red Wind
Дата 26.5.2007, 13:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 280
Регистрация: 25.6.2004
Где: Минск

Репутация: нет
Всего: 2



tol05,  спасибо. Вроде нашёл, а то когда я сам искал у меня nunit.org кидало, и там ничего не работало, а оказывается официальный сайт nunit.com
PM MAIL ICQ   Вверх
Exception
Дата 26.5.2007, 16:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 4525
Регистрация: 26.12.2004

Репутация: 29
Всего: 186



PM   Вверх
Red Wind
Дата 27.5.2007, 13:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 280
Регистрация: 25.6.2004
Где: Минск

Репутация: нет
Всего: 2



Exception, это я уже виделsmile
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.1427 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.