powered by simpleCommunicator - 2.0.29     © 2024 Programmizd 02
Map
14 сообщений из 14, страница 1 из 1
Видео уроки
    #516883
Неуловимый Джо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[игнорирует гостей]
Вот что надо посмотреть на выходных.
Unit testing
В делфях никогда не использовал. Я работал всегда с приложениями для баз данных, там это и не нужно.
Но раз сейчас собрался интерпретатор на паскале делать, то там пригодится.

Unit Testing in Delphi
...
Рейтинг: 1 / 0
Нравится: Гарыныч
Видео уроки
    #516992
Неуловимый Джо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[игнорирует гостей]
Первый пошел!
Снимок.PNG
...
Рейтинг: 0 / 0
Видео уроки
    #518589
s62
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
s62 Привилегированный пользователь
Участник
Неуловимый Джо [игнорируется] 
А я посмотрел, не всё, меньше половины на самом деле пока, вот видео: Secrets of Visual Design on Windows 11
Secrets of Visual Design on Windows 11
Там была, в частности, пара ссылок на сайты с бесплатными иконками и т.п.
https://www.svgrepo.com/
https://lucide.dev/
...
Изменено: 27.08.2023, 21:32 - s62
Рейтинг: 2 / 0
Видео уроки
    #518599
s62
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
s62 Привилегированный пользователь
Участник
Неуловимый Джо [игнорируется] 
Цитата 
[игнорируется]
В делфях никогда не использовал. Я работал всегда с приложениями для баз данных, там это и не нужно.
тоже никогда не использовал, даже толком не знаю, что это. :(
...
Изменено: 27.08.2023, 21:40 - s62
Рейтинг: 0 / 0
Видео уроки
    #518611
Неуловимый Джо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[игнорирует гостей]
Так-то штука полезная, если логика в делфийском коде.
Заранее сделать тесты, что с таким-то набором параметров, метод должен вернуть то-то.

И потом при изменениях прогонять эти тесты. Так можно выявить ошибку, которая появилась с изменениями.

Но когда логика в базе данных, то даже не представляю как сделать тесты.
...
Изменено: 27.08.2023, 22:11 - Неуловимый Джо
Рейтинг: 1 / 0
Нравится: s62
Видео уроки
    #518613
Неуловимый Джо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[игнорирует гостей]
ну и фреймворк помогает, цветами выделяет, зеленое, красное.
...
Рейтинг: 0 / 0
Видео уроки
    #518618
Неуловимый Джо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[игнорирует гостей]
s62  27.08.2023, 21:40
[игнорируется]
даже толком не знаю, что это.
К примеру вот тест для метода NextToken на шарпе
Для текста "let five = 5;" я ожидаю, что он вернет следующие токены
LET
IDENTIFIER со значением "five"
ASSIGN
INT со значением "5"
SEMICOLON

Я задаю текст, задаю массив expectedTokensи дальше сверяю то что возвращает метод NextToken с ожидаемым результатом.
Если не совпадает тип токена или литерал, вызываю Fail.
Код: C#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
    [TestMethod]
    public void TestNextToken()
    {
        string input = "let five = 5;";
        var lexer = new Monkey.Lexer(input);
        Monkey.Token token;
        Monkey.Token[] expectedTokens = { new Monkey.Token(Monkey.Token.LET, "let"),
                                          new Monkey.Token(Monkey.Token.IDENTIFIER, "five"),
                                          new Monkey.Token(Monkey.Token.ASSIGN, "="),
                                          new Monkey.Token(Monkey.Token.INT, "5"),
                                          new Monkey.Token(Monkey.Token.SEMICOLON, ";")
                                        };
        for(int i = 0; i < expectedTokens.Length; i++)
        {
            token = lexer.NextToken();
            if (token.Type != expectedTokens[i].Type)
                Assert.Fail($"Type = {token.Type}, expected Type = {expectedTokens[i].Type}");
            if (token.Literal != expectedTokens[i].Literal)
                Assert.Fail($"Literal = {token.Literal}, expected Literal = {expectedTokens[i].Literal}");
        }
    }
хотя не совсем правильно сделал, нужно было идти циклом пока не EOF
но уже неважно, я уже начал на делфях делать.
...
Изменено: 27.08.2023, 22:24 - Неуловимый Джо
Рейтинг: 0 / 0
Видео уроки
    #518620
Неуловимый Джо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[игнорирует гостей]
Преимущество в том, что тесты готовы заранее, когда что-то меняешь, можно добавить новый тест.
...
Рейтинг: 0 / 0
Видео уроки
    #518629
Неуловимый Джо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[игнорирует гостей]
На делфях пока только начал, там пока тестировать особо нечего.

Проверяю, что для текста "153", метод NextChar если запускать последовательно, вернет 1,5,3, EOF_CHAR
Во втором тесте проверяю PeekChar, это посмотреть какой следующий символ, не сдвигая текущую позицию.
Снимок.PNG
...
Изменено: 27.08.2023, 22:29 - Неуловимый Джо
Рейтинг: 0 / 0
Видео уроки
    #518634
Неуловимый Джо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[игнорирует гостей]
Ну и вот запуск тестов.
В случае чего, будет красным.
Снимок.PNG
...
Рейтинг: 1 / 0
Нравится: s62
Видео уроки
    #518638
Неуловимый Джо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[игнорирует гостей]
Ну и TDD test driven development, это сначала придумать тест, а уже потом делать сам метод.
Вроде так ты лучше продумываешь логику метода, ты подготавливаешь список своих ожиданий от него.
...
Рейтинг: 1 / 0
Нравится: s62
Видео уроки
    #518673
s62
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
s62 Привилегированный пользователь
Участник
Неуловимый Джо [игнорируется] 

Идея вроде примерно понятна. Детали пока - не совсем. Спасибо за разъяснения!
...
Рейтинг: 1 / 0
Нравится: Неуловимый Джо
Видео уроки
    #518675
Неуловимый Джо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[игнорирует гостей]
s62  28.08.2023, 01:16
[игнорируется]
Неуловимый Джо [игнорируется] 

Идея вроде примерно понятна. Детали пока - не совсем. Спасибо за разъяснения!
Детали на видео достаточно подробно.
Нужно создать группу проектов.
Один проект это твой рабочий проект, и второй это уже DUnit.
Там запускается началтьный мастер, который устанавливает нужные связи.
Ну а потом уже только добавлять новые методы-тесты.
...
Рейтинг: 0 / 0
Видео уроки
    #518676
Неуловимый Джо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[игнорирует гостей]
ChecEquals это одна из многих функций Check... в DUnit.
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]