Форум программистов, компьютерный форум, киберфорум
Visual C++
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.69/13: Рейтинг темы: голосов - 13, средняя оценка - 4.69
0 / 0 / 0
Регистрация: 28.12.2015
Сообщений: 16

Unit-test для простого консольного приложения

08.10.2019, 23:44. Показов 2740. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Делаю лабу, но никак не могу разобраться и сделать юнит тест для консольного приложения, которое меняет условные буквы на условные знаки

g - на >
l - на <
e - на =
(greater, less, equal)

Вот код самого консольного приложения

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
int main()
{
    using std::string;
    using std::cout;
    using std::endl;
    using std::replace;
 
    string s("3 g 1 l 5 e 5");
 
    replace(s.begin(), s.end(), 'g', '>');
    replace(s.begin(), s.end(), 'l', '<');
    replace(s.begin(), s.end(), 'e', '=');
    
    cout << s << endl;
    std::system("pause");
    return 0;
}
помогите разобраться с юнит-тестом, который даст "добро" (выдаст текстовое подтверждение), когда увидит, что замена произошла успешно
желательно, что бы в юнит тесте возможно было написать другую строку, а не использовать ту, которая в основном коде.


Добавлено через 40 секунд
возможно не в тот раздел написал, делаю в Visual Studio 2019
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
08.10.2019, 23:44
Ответы с готовыми решениями:

С++ Unit Test (модульное тестирование)
Вопроса по сути два. 1. что используете для модульного тестирования и почему отдаете этому предпочтение. 2. если используете eclipse,...

Создание GUI для консольного приложения на C++
Я хотел создать GUI для консольного приложения на C++. Но возникла одна проблема - передавать команды я могу, а вывод консольного...

Создание простого приложения для Windows 9x/NT, решил как смог. Пожалуйста подскажите что исправить или добавить
задание: окно фон зелёный размер 500х400 курсор IDT_HAND При закрытии окна вывести ФИО Мой вариант: ...

1
1394 / 1023 / 325
Регистрация: 28.07.2012
Сообщений: 2,813
13.10.2019, 16:40
Relvie, первым делом тебе нужно определиться с фреймворком для unit-тестирования. Например, в компонентах Visual Studio 2019 можно выбрать Google Test и Boost.Test, а еще там есть какой-то свой встроенный формат.

Чтобы написать нормальный unit-тест, тебе необходимо в начале этот unit выделить из своего кода. В твоем случае будет что-то вида:

C++
1
2
3
4
5
6
7
8
std::string my_replace(std::string s)
{
    replace(s.begin(), s.end(), 'g', '>');
    replace(s.begin(), s.end(), 'l', '<');
    replace(s.begin(), s.end(), 'e', '=');
 
    return std::move(s);
}
После этого, для такого unit'а уже можно писать тест, но для этого придется изучить документацию по выбранному фреймворку.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
13.10.2019, 16:40
Помогаю со студенческими работами здесь

GUI через c++ builder для простого консольного приложения
Есть вот такая простая консольная программа,помогите запилить GUI через C++ Builder,лучше всего наверное через StrinG Grid,хотя можно и...

Создание простого консольного ООП-приложения любой тематики
Всем привет, нужна помощь в создании простого консольного приложения. Вот несколько условий: 1. Использовать возможности ООП: классы,...

Что такое unit test и regression test
Что такое unit test и regression test?

Нужны исходники простого простого приложения под Android для примера
можете дать ссылку на приложение под андроид?не Hello Word а какое нибудь другое но тоже простое на подобие этого ?хочу понять как...

Как создать Unit test для WEB API
Имеется контроллер, работу которого необходимо протестировать Unit тестом. Может кто подскажет, с чего начать писать тест и каким...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru