Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
143 / 92 / 34
Регистрация: 30.01.2018
Сообщений: 469
1

Юнит тест

28.03.2019, 20:01. Показов 945. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте, я очень отдаленно знаю о том, как делаются юнит тесты, поэтому наваял, что смог. Задумывался как универсальный, поэтому все аргументы передаются как вектор => есть строгие требования к компаратору. Принимаю любую критику
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
#include <functional>
#include <iostream>
#include <vector>
#include <string>
#include "AuxiliaryFunction.hpp"
template <typename T, typename T2>
class UnitTest
{
private:
    std::string messege;
public:
    UnitTest(std::function<T(T2,T2)>, std::vector<T2>, size_t, std::function<bool(std::vector<T2>,std::function<T(T2,T2)>)>);
    ~UnitTest();
};
template <typename T, typename T2>
UnitTest<T,T2>::UnitTest(std::function<T(T2,T2)> func, std::vector<T2> args, 
                        size_t iteration, std::function<bool(std::vector<T2>,
                        std::function<T(T2,T2)>)> compare)
{
    messege = "Test passed.\n";
    for(size_t i = 0; i<iteration; ++i)
    {
       if(!compare(args, func))
       {
           messege = "Test failed.\n";
           break;
       }
       std::cout<<"Iteration : "<<i+1<<'\r';
    }
    
    std::cout<<messege;
}
template <typename T, typename T2>
UnitTest<T,T2>::~UnitTest()
{
}
 
 
int main()
{
    /*В компаратор передается вектор (лист и т.п), поэтому вы должны научить его работать с этими данными*/
    auto compare = []
    (std::vector<long long> args,std::function<double(long long,long long)> func)->bool 
    {
        if(args[0]<=func(args[0], args[1])&&func(args[0], args[1])<=args[1]) return 1;
        else return 0;
    };
    UnitTest<double, long long> test(Auxiliary::random,{-4000,6434}, 1'000'000'000, compare);
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.03.2019, 20:01
Ответы с готовыми решениями:

Что такое юнит-тест
В задании требуется наличие юнит-тестов к программе. Что это? Как выглядит? Как работает?

Юнит тест для сравнения массивов
Здраствуйте, Есть сортировка выбором void selection(int *y,int n) { int o; for (int i = 0; i...

Юнит тесты
Помогите разобраться, не проходят два теста, я уже не знаю почему. //Проверка на ввод числа...

Юнит-тесты
Всем доброго время суток! У меня возникли траблы с написанием юнит-тестов к функциям сортировки...

6
Mental handicap
1246 / 624 / 171
Регистрация: 24.11.2015
Сообщений: 2,429
28.03.2019, 20:11 2
Pashka Durov, обычно используют готовые решения, для написания юнит-тестов. Так как вы никто не делает)
0
143 / 92 / 34
Регистрация: 30.01.2018
Сообщений: 469
28.03.2019, 20:17  [ТС] 3
Azazel-San, я просто попробовать захотел
0
Mental handicap
1246 / 624 / 171
Регистрация: 24.11.2015
Сообщений: 2,429
28.03.2019, 20:28 4
Pashka Durov, тогда в чем смысл поста?
0
143 / 92 / 34
Регистрация: 30.01.2018
Сообщений: 469
28.03.2019, 20:42  [ТС] 5
Цитата Сообщение от Azazel-San Посмотреть сообщение
тогда в чем смысл поста?
Чтобы понять ошибки(если они есть), я уверен, что кто-нибудь шарит за написание юнит тестов, поэтому может сказать мне, что я делаю не так
0
Mental handicap
1246 / 624 / 171
Регистрация: 24.11.2015
Сообщений: 2,429
28.03.2019, 20:45 6
Pashka Durov, я не понимаю вы свой «фреймворк» для юнит тестов написать хотите? Или писать эти юнит тесты?
0
143 / 92 / 34
Регистрация: 30.01.2018
Сообщений: 469
28.03.2019, 20:48  [ТС] 7
Цитата Сообщение от Azazel-San Посмотреть сообщение
фреймворк
Именно это, но хочу сделать его максимально простым для использования
0
28.03.2019, 20:48
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.03.2019, 20:48
Помогаю со студенческими работами здесь

Юнит-тесты
Разбираюсь с юнит тестами. Надо обложить тестами функцию пузырьковой сортировки. Бьюсь несколько...

Юнит-тестирование
Всем доброго времени суток! В последнее время меня начал сильно интересовать вопрос о...

Юнит-тестирование
Расскажите про юнит тест на с++ , как его писать?Синтаксис? (У меня такое задание: написать юнит...

Юнит тестирование С++ (Google Mock)
Добрый день. Я только начинаю знакомиться с Юнит тестированием и фреймворком Google. может ли мне...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru