Re[10]: [файловый diff/fc] vs [Assert.IsEqual()]
От: vvaizh http://izh-test.sourceforge.net/
Дата: 12.07.06 10:40
Оценка:
Здравствуйте, Eugene Beschastnov, Вы писали:

EB>О, кстати, еще один аргумент против использования файлового diff-а для unit-тестов: очень вероятна рассинхронизация кода и эталона. Да и автоматизированный рефакторинг осложняется. Скажем, захотел я изменить структуру возвращаемого объекта (переименовать, например, что-нибудь) — тогда при использовании assert-ов рефакторинг сможет пройти автоматически, а при использовании файлов — нет.


1. F5 — прогоняешь тесты, ГУИ среда выдаёт список всех отличающихся эталонов
2. кнопкой "вниз" пробегаешь по ним по всем (справа сразу отображается diff) — убеждаешься что всё в порядке, поменялось тольео то что ожидалось
3. Ctrl+A (выбрать все результаты)
3. Ctrl+F (переписать результаты вместо эталонов)

не так уж и много за столько преимуществ
http://izh-test.sourceforge.net/russian/introduction.html
Re[11]: [файловый diff/fc] vs [Assert.IsEqual()]
От: Lloyd Россия  
Дата: 12.07.06 10:58
Оценка:
Здравствуйте, vvaizh, Вы писали:

V>не так уж и много за столько преимуществ


Да в чем преимущества-то?
Re[12]: [файловый diff/fc] vs [Assert.IsEqual()]
От: vvaizh http://izh-test.sourceforge.net/
Дата: 12.07.06 11:00
Оценка:
Здравствуйте, Lloyd, Вы писали:

V>>не так уж и много за столько преимуществ

L>Да в чем преимущества-то?

я их уже перечислял..

1. меньше тестов
2. можно менять одним махом сразу много эталонных образцов
3. скинув данные в файл можно проверять значения не скалярные а сложные аггрегатные (например всю результирующую html-страничку разом, или rtf-отчёт, или вообще любой файл на выходе)
4. поскольку файл — понятие которое есть везде можно реализовать систему так что среда будет позволять единообразное тестирование всех компонентов
от скриптов до хранимых процедур в СУБД
5. можно запускать тесты как отдельные прцессы и таким образом надёжно изолировать их друг от друга
(а то один тест дурной как положит в корку и себя и framework)
6. вообще, можно тестировать даже поток управления таким образом..
http://izh-test.sourceforge.net/russian/introduction.html
Re[13]: [файловый diff/fc] vs [Assert.IsEqual()]
От: _ALeRT_  
Дата: 12.07.06 11:37
Оценка:
Здравствуйте, vvaizh, Вы писали:

V>я их уже перечислял..


V>1. меньше тестов

V>2. можно менять одним махом сразу много эталонных образцов
V>3. скинув данные в файл можно проверять значения не скалярные а сложные аггрегатные (например всю результирующую html-страничку разом, или rtf-отчёт, или вообще любой файл на выходе)
V>4. поскольку файл — понятие которое есть везде можно реализовать систему так что среда будет позволять единообразное тестирование всех компонентов
V>от скриптов до хранимых процедур в СУБД
V>5. можно запускать тесты как отдельные прцессы и таким образом надёжно изолировать их друг от друга
V>(а то один тест дурной как положит в корку и себя и framework)
V>6. вообще, можно тестировать даже поток управления таким образом..

А ты не путаешь модульное тестирование (unit test) с каким-нибудь другим способом тестирования (регрессионным тестированием или приемочным тестированием)? ИМХО твое описание больше подходит для них.

ALeRT
Re[14]: [файловый diff/fc] vs [Assert.IsEqual()]
От: vvaizh http://izh-test.sourceforge.net/
Дата: 12.07.06 11:47
Оценка:
Здравствуйте, _ALeRT_, Вы писали:

_AL>А ты не путаешь модульное тестирование (unit test) с каким-нибудь другим способом тестирования (регрессионным тестированием или приемочным тестированием)? ИМХО твое описание больше подходит для них.


Вообще говоря конечно путаница есть
подход с диффами можно использовать и как unit-тестирование и как регрессионное и
как функциональное-приёмочное (т.е. вообще например тестовую утилиту как единую программу запускать)

просто unit-тесты наиболее узнаваемое словосочетание из всего вышеперечисленного , поэтому я использовал это название

ну и вообще я всё равно не вижу, почему такой подход хуже подхода с Assert-ами..
http://izh-test.sourceforge.net/russian/introduction.html
Re[13]: [файловый diff/fc] vs [Assert.IsEqual()]
От: Lloyd Россия  
Дата: 12.07.06 11:55
Оценка:
Здравствуйте, vvaizh, Вы писали:

V>я их уже перечислял..


V>1. меньше тестов


Как этот подход уменьшит кол-во тестов?

V>2. можно менять одним махом сразу много эталонных образцов


Нука-нука. Расскажи как? И почему то же самое нельзя делать с нормальными тестами.

V>3. скинув данные в файл можно проверять значения не скалярные а сложные аггрегатные (например всю результирующую html-страничку разом, или rtf-отчёт, или вообще любой файл на выходе)


Набросай побыстрому как ты будешь сравнивать два датасета, например.

V>4. поскольку файл — понятие которое есть везде можно реализовать систему так что среда будет позволять единообразное тестирование всех компонентов

V>от скриптов до хранимых процедур в СУБД

поскольку код-понятие которое есть везде, ...

V>5. можно запускать тесты как отдельные прцессы и таким образом надёжно изолировать их друг от друга

V>(а то один тест дурной как положит в корку и себя и framework)

Не вопрос. Заускай тесты поштучно.

V>6. вообще, можно тестировать даже поток управления таким образом..


Подробнее, что ты имеешь в виду.
Re[15]: [файловый diff/fc] vs [Assert.IsEqual()]
От: _ALeRT_  
Дата: 12.07.06 12:03
Оценка:
Здравствуйте, vvaizh, Вы писали:

V>ну и вообще я всё равно не вижу, почему такой подход хуже подхода с Assert-ами.


ИМХО он не хуже, он просто другой и предназначен для других целей. Например внутренную функциональность часто удобнее проверять с помощью Assert'ов, так как с ними тест получается не такой громоздкий и его легче менять, рефакторить и т.д. Подход с diff'ом удобнее для тестирования (регрессионного или приемочного) системы в целом. В этом случаее тест обычно не меняется и в нем содержится большое колличество проверок, которые часто неудобно делать через Assert'ты.
Re[16]: [файловый diff/fc] vs [Assert.IsEqual()]
От: vvaizh http://izh-test.sourceforge.net/
Дата: 12.07.06 12:12
Оценка:
Здравствуйте, _ALeRT_, Вы писали:

V>>ну и вообще я всё равно не вижу, почему такой подход хуже подхода с Assert-ами.

_AL>ИМХО он не хуже, он просто другой и предназначен для других целей. Например внутренную функциональность часто удобнее проверять с помощью Assert'ов, так как с ними тест получается не такой громоздкий и его легче менять, рефакторить и т.д.

При достаточно большой системе тестов ИМХО это удобство практически совсем теряется
http://izh-test.sourceforge.net/russian/introduction.html
Re[17]: [файловый diff/fc] vs [Assert.IsEqual()]
От: _ALeRT_  
Дата: 12.07.06 12:24
Оценка:
Здравствуйте, vvaizh, Вы писали:

V>При достаточно большой системе тестов ИМХО это удобство практически совсем теряется


Ну удобство — это конечно (в данном случае) вопрос вкуса. Лично я считаю, что даже в большой системе тестов сами тесты (которые unit tests) должны быть не большие (как функции — не больше экрана), а дальше — это вопрос качества кода (ИМХО должно быть удобно).

ALeRT
Re[14]: [файловый diff/fc] vs [Assert.IsEqual()]
От: vvaizh http://izh-test.sourceforge.net/
Дата: 12.07.06 12:26
Оценка:
Здравствуйте, Lloyd, Вы писали:

L>Здравствуйте, vvaizh, Вы писали:


V>>я их уже перечислял..


V>>1. меньше тестов

L>Как этот подход уменьшит кол-во тестов?

ну как как.. за счёт того что сразу много параметров можно пихать, и правильно разруливать какой из них глючит..

V>>2. можно менять одним махом сразу много эталонных образцов

L>Нука-нука. Расскажи как? И почему то же самое нельзя делать с нормальными тестами.

потому что в случае с выводом первых результатов Assert-ов в файл я могу простым копированием результирующего файал поверх эталонного поменять все эталоны, в которых например поменялась большая буква на маленькую

вообще, посмотри тут:
http://izh-test.sourceforge.net/advantege_1.html

а в случае Assert-ов я должен буду бегать по коду и менять в каждом ассерте большую букву на маленькую..

V>>3. скинув данные в файл можно проверять значения не скалярные а сложные аггрегатные (например всю результирующую html-страничку разом, или rtf-отчёт, или вообще любой файл на выходе)

L>Набросай побыстрому как ты будешь сравнивать два датасета, например.

сделаю им xml-сериализацию (да хоть soap-вскую)
отформатирую так, чтобы каждое поле в отдельной строке было (XmlTestWriter с включенным Formatting-ом)

да и выкину в результирующий файл..

между прочим внутренние тесты mysql как я уже упомянал выше примерно так и устроены..
они именно датасеты и сравнивают! как тексты.. diff-ом..

V>>4. поскольку файл — понятие которое есть везде можно реализовать систему так что среда будет позволять единообразное тестирование всех компонентов

V>>от скриптов до хранимых процедур в СУБД

L>поскольку код-понятие которое есть везде, ...


дык код то разный.. для разных языков..
нет пока для всех языков общей среды тестирования..
для java- отдельно
для .NET — отдельно
для smaltalk — отдельно
и т.п.

а тут можно общую забабашить

V>>5. можно запускать тесты как отдельные прцессы и таким образом надёжно изолировать их друг от друга

V>>(а то один тест дурной как положит в корку и себя и framework)
L>Не вопрос. Заускай тесты поштучно.

по умолчанию они вместе запускаются

V>>6. вообще, можно тестировать даже поток управления таким образом..

L>Подробнее, что ты имеешь в виду.

я имею ввиду trace программы..
который можно сравнивать с эталонным..
ну или log выполнения, как тебе понятнее..
http://izh-test.sourceforge.net/russian/introduction.html
Re[18]: [файловый diff/fc] vs [Assert.IsEqual()]
От: vvaizh http://izh-test.sourceforge.net/
Дата: 12.07.06 12:40
Оценка:
Здравствуйте, _ALeRT_, Вы писали:

_AL>Здравствуйте, vvaizh, Вы писали:


V>>При достаточно большой системе тестов ИМХО это удобство практически совсем теряется


_AL>Ну удобство — это конечно (в данном случае) вопрос вкуса. Лично я считаю, что даже в большой системе тестов сами тесты (которые unit tests) должны быть не большие (как функции — не больше экрана), а дальше — это вопрос качества кода (ИМХО должно быть удобно).


Ну хорошо, а есть ли вообще системы которые автоматизируют тесты на основе diff-а?
и почему их видимо гораздо меньше чем xunit-вых систем?
http://izh-test.sourceforge.net/russian/introduction.html
Re[19]: [файловый diff/fc] vs [Assert.IsEqual()]
От: _ALeRT_  
Дата: 12.07.06 13:03
Оценка: 6 (1)
Здравствуйте, vvaizh, Вы писали:

V>Ну хорошо, а есть ли вообще системы которые автоматизируют тесты на основе diff-а?

V>и почему их видимо гораздо меньше чем xunit-вых систем?

Системы, с которыми я знаком основанны на Assert'тах. На сколько я понимаю на основе такой системы не сложно написать простой вариант системы тестирования на основе diff-а. Как-то мне попадалась система (http://fit.c2.com/wiki.cgi?IntroductionToFit), похожая на то о чем ты говоришь, но я в ней глубоко не разбирался.

ALeRT
Re[15]: [файловый diff/fc] vs [Assert.IsEqual()]
От: Lloyd Россия  
Дата: 12.07.06 13:05
Оценка:
Здравствуйте, vvaizh, Вы писали:

V>>>1. меньше тестов

L>>Как этот подход уменьшит кол-во тестов?

V>ну как как.. за счёт того что сразу много параметров можно пихать, и правильно разруливать какой из них глючит..


Напиши функцию, кот сделать то же самое.

L>>Нука-нука. Расскажи как? И почему то же самое нельзя делать с нормальными тестами.


V>потому что в случае с выводом первых результатов Assert-ов в файл я могу простым копированием результирующего файал поверх эталонного поменять все эталоны, в которых например поменялась большая буква на маленькую


V>вообще, посмотри тут:

V>http://izh-test.sourceforge.net/advantege_1.html

V>а в случае Assert-ов я должен буду бегать по коду и менять в каждом ассерте большую букву на маленькую..


Не аргумент.

V>>>3. скинув данные в файл можно проверять значения не скалярные а сложные аггрегатные (например всю результирующую html-страничку разом, или rtf-отчёт, или вообще любой файл на выходе)

L>>Набросай побыстрому как ты будешь сравнивать два датасета, например.

V>сделаю им xml-сериализацию (да хоть soap-вскую)

V>отформатирую так, чтобы каждое поле в отдельной строке было (XmlTestWriter с включенным Formatting-ом)

V>да и выкину в результирующий файл..


V>между прочим внутренние тесты mysql как я уже упомянал выше примерно так и устроены..

V>они именно датасеты и сравнивают! как тексты.. diff-ом..

То есть молимся, чтобы датасет не дай бог переставит строчки?

V>>>4. поскольку файл — понятие которое есть везде можно реализовать систему так что среда будет позволять единообразное тестирование всех компонентов

V>>>от скриптов до хранимых процедур в СУБД

L>>поскольку код-понятие которое есть везде, ...


V>дык код то разный.. для разных языков..

V>нет пока для всех языков общей среды тестирования..
V>для java- отдельно
V>для .NET — отдельно
V>для smaltalk — отдельно
V>и т.п.

V>а тут можно общую забабашить


Не забабашиш. Просто вводишь дополнительное звено. Тесты-то все-равно пишутся на прежнем языке.

V>>>5. можно запускать тесты как отдельные прцессы и таким образом надёжно изолировать их друг от друга

V>>>(а то один тест дурной как положит в корку и себя и framework)
L>>Не вопрос. Заускай тесты поштучно.

V>по умолчанию они вместе запускаются


Твои тесты по умолчанию у меня вообще не работают, ибо не стоят

V>>>6. вообще, можно тестировать даже поток управления таким образом..

L>>Подробнее, что ты имеешь в виду.

V>я имею ввиду trace программы..

V>который можно сравнивать с эталонным..
V>ну или log выполнения, как тебе понятнее..

Боюсь, без модификации кода программы это не так-то легко сделать.
Re[16]: [файловый diff/fc] vs [Assert.IsEqual()]
От: vvaizh http://izh-test.sourceforge.net/
Дата: 12.07.06 13:12
Оценка:
Здравствуйте, Lloyd, Вы писали:

V>>>>1. меньше тестов

L>>>Как этот подход уменьшит кол-во тестов?
V>>ну как как.. за счёт того что сразу много параметров можно пихать, и правильно разруливать какой из них глючит..
L>Напиши функцию, кот сделать то же самое.

мне нужно на каждый такой случай функцию писать, думать..
потом будет много функций, а тут — универсальный подход позволяющий не напрягать особо мозги..

L>>>Нука-нука. Расскажи как? И почему то же самое нельзя делать с нормальными тестами.

V>>потому что в случае с выводом первых результатов Assert-ов в файл я могу простым копированием результирующего файал поверх эталонного поменять все эталоны, в которых например поменялась большая буква на маленькую
V>>вообще, посмотри тут:
V>>http://izh-test.sourceforge.net/advantege_1.html
V>>а в случае Assert-ов я должен буду бегать по коду и менять в каждом ассерте большую букву на маленькую..
L>Не аргумент.

аргумент

V>>сделаю им xml-сериализацию (да хоть soap-вскую)

V>>отформатирую так, чтобы каждое поле в отдельной строке было (XmlTestWriter с включенным Formatting-ом)
V>>да и выкину в результирующий файл..

L>То есть молимся, чтобы датасет не дай бог переставит строчки?


ставим сортировку явную, если такое возможно..

V>>а тут можно общую забабашить

L>Не забабашиш. Просто вводишь дополнительное звено. Тесты-то все-равно пишутся на прежнем языке.

да, но они могут не подключать никаких дополнительных библиотек например..
для тех же хранимых прцедур это актуально..
да и вообще, нативную среду одну на всех написать да и не парится..

V>>по умолчанию они вместе запускаются

L>Твои тесты по умолчанию у меня вообще не работают, ибо не стоят

дык и NUnit и JUnit нужно ставить..

V>>я имею ввиду trace программы..

V>>который можно сравнивать с эталонным..
V>>ну или log выполнения, как тебе понятнее..
L>Боюсь, без модификации кода программы это не так-то легко сделать.

ну во первых большинство сложных программ и так имеют развитую систему логов
а во вторых что с того что просто..
http://izh-test.sourceforge.net/russian/introduction.html
Re[20]: [файловый diff/fc] vs [Assert.IsEqual()]
От: vvaizh http://izh-test.sourceforge.net/
Дата: 13.07.06 04:14
Оценка:
Здравствуйте, _ALeRT_, Вы писали:

_AL>Системы, с которыми я знаком основанны на Assert'тах. На сколько я понимаю на основе такой системы не сложно написать простой вариант системы тестирования на основе diff-а.


до определённого момента я тоже именно так и делал
заводил в NUnit-ах что то вроде файлового ассерта
но много времени уходило на анализ того чем отличаются файлы, копирование одного поверх другого и т.п.
среда NUnit тестов этого не позволяет..
вот в общем то тогда и написал
http://sourceforge.net/projects/izh-test/
сейчас наоборот зачастую NUnit тесты не пишу, а пишу в ней

например есть у меня в рабочей программе пользовательская функция,
которая готовит некоторую информацию в виде пары xml-файлов
добавляет к ним отчёт в html формате, всё это пакует zip-ом для передачи дальше по почте

ну и как мне это в NUnit-ах тестировать ?
а для izh_test я просто написал консольную утилитку которая нужный файл готовит
izh_test сама эту утилитку вызывает, распаковывает файлы, показывает мне результат и
сравнивает с эталоном

_AL>Как-то мне попадалась система (http://fit.c2.com/wiki.cgi?IntroductionToFit), похожая на то о чем ты говоришь, но я в ней глубоко не разбирался.


да, идея похожа
но использование вордовского файла мне не внушает надежды
http://izh-test.sourceforge.net/russian/introduction.html
Re[17]: [файловый diff/fc] vs [Assert.IsEqual()]
От: Lloyd Россия  
Дата: 13.07.06 07:17
Оценка:
Здравствуйте, vvaizh, Вы писали:

V>Здравствуйте, Lloyd, Вы писали:


V>>>>>1. меньше тестов

L>>>>Как этот подход уменьшит кол-во тестов?
V>>>ну как как.. за счёт того что сразу много параметров можно пихать, и правильно разруливать какой из них глючит..
L>>Напиши функцию, кот сделать то же самое.

V>мне нужно на каждый такой случай функцию писать, думать..

V>потом будет много функций, а тут — универсальный подход позволяющий не напрягать особо мозги..

А код сериализации в файл у тебя зам появляется?

L>>Не аргумент.


V>аргумент


Для меня — нет.

V>>>сделаю им xml-сериализацию (да хоть soap-вскую)

V>>>отформатирую так, чтобы каждое поле в отдельной строке было (XmlTestWriter с включенным Formatting-ом)
V>>>да и выкину в результирующий файл..

L>>То есть молимся, чтобы датасет не дай бог переставит строчки?


V>ставим сортировку явную, если такое возможно..


Ну вот, начинается. Но что не сделаешь чтобы в фало записать и дифом воспользоваться.

V>>>а тут можно общую забабашить

L>>Не забабашиш. Просто вводишь дополнительное звено. Тесты-то все-равно пишутся на прежнем языке.

V>да, но они могут не подключать никаких дополнительных библиотек например..

V>для тех же хранимых прцедур это актуально..
V>да и вообще, нативную среду одну на всех написать да и не парится..

Не понял что ты имеешь в виду. Какую среду? Вот пишу я на шарпе, как мне использовать эту "нативную" среду?

V>>>я имею ввиду trace программы..

V>>>который можно сравнивать с эталонным..
V>>>ну или log выполнения, как тебе понятнее..
L>>Боюсь, без модификации кода программы это не так-то легко сделать.

V>ну во первых большинство сложных программ и так имеют развитую систему логов


Приведи, пожалуйста полный список большинства сложных программ, о котором ты говоришь.

P.S. Давай рассмотрим гипотетическую ситуацию. Ты выполняешь какое-то действие и должен проверить что в логе появилась запись. Эта запись должна иметь отметку о времени совершенного действия. Приведи схематичный пример того, как ты это будешь делать с твоим дифом.
Re[21]: [файловый diff/fc] vs [Assert.IsEqual()]
От: _ALeRT_  
Дата: 13.07.06 07:23
Оценка:
Здравствуйте, vvaizh, Вы писали:

V>например есть у меня в рабочей программе пользовательская функция,

V>которая готовит некоторую информацию в виде пары xml-файлов
V>добавляет к ним отчёт в html формате, всё это пакует zip-ом для передачи дальше по почте

ИМХО unit-test'ы (если мы все еще говорим о них) предназначены, преже всего, для тестирования внутренней логики программы (функции). Для того, чтобы это сделать не нужно выполнять всю ту сложную работу, которую ты описал. В данном случае стоит воспользоваться мок-объектами (mock objects), что позволит достаточно просто протестировать логику самой функции, а не работу всей программы в целом (что гораздо сложнее). Если же ты хочешь протестировать работу программы, то тебе подойдет регрессонное тестирование (оно-то и будет основанно на сравнении файлов).

ALeRT
Re[22]: [файловый diff/fc] vs [Assert.IsEqual()]
От: vvaizh http://izh-test.sourceforge.net/
Дата: 13.07.06 07:36
Оценка:
Здравствуйте, _ALeRT_, Вы писали:

V>>например есть у меня в рабочей программе пользовательская функция,

V>>которая готовит некоторую информацию в виде пары xml-файлов
V>>добавляет к ним отчёт в html формате, всё это пакует zip-ом для передачи дальше по почте

_AL>ИМХО unit-test'ы (если мы все еще говорим о них) предназначены, преже всего, для тестирования внутренней логики программы (функции). Для того, чтобы это сделать не нужно выполнять всю ту сложную работу, которую ты описал. В данном случае стоит воспользоваться мок-объектами (mock objects), что позволит достаточно просто протестировать логику самой функции, а не работу всей программы в целом (что гораздо сложнее). Если же ты хочешь протестировать работу программы, то тебе подойдет регрессонное тестирование (оно-то и будет основанно на сравнении файлов).


ИМХО тут разделительная грань проходит не между регрессионным и unit тестированием
а между тестированием функций дающих небольшое количество скалярных значений,
и функций, результатом работы которых будет являться сложная аггрегатная структуры.

Вот я в одном проекте убедил людей что нужно использовать NUnit тесты и что..
они просто напросто стали для аггрегатных результатов функций писать проверку на то что это не нулл и всё..
на большее их не хватило

Кароче неважно, внутренняя это функция или это и есть вся программа..

количество ассертов которые приходится писать для тестирования сложной аггрегатной структуры а
также затраты на их сопровождение вполне сравнимо а то больше для Assert-ов чем для файлового сравнения..

кстати абсолютно внешняя нативная среда тут тоже не краеугольный камень..
вполне можно написать библиотеку для .NET когда можно будет писать без всяких внешних описаний в
стиле NUnit, описывая всю логику тестов аттрибутами..
http://izh-test.sourceforge.net/russian/introduction.html
Re[18]: [файловый diff/fc] vs [Assert.IsEqual()]
От: vvaizh http://izh-test.sourceforge.net/
Дата: 13.07.06 07:43
Оценка:
Здравствуйте, Lloyd, Вы писали:

L>Здравствуйте, vvaizh, Вы писали:

V>>Здравствуйте, Lloyd, Вы писали:

V>>>>>>1. меньше тестов

L>>>>>Как этот подход уменьшит кол-во тестов?
V>>>>ну как как.. за счёт того что сразу много параметров можно пихать, и правильно разруливать какой из них глючит..
L>>>Напиши функцию, кот сделать то же самое.
V>>мне нужно на каждый такой случай функцию писать, думать..
V>>потом будет много функций, а тут — универсальный подход позволяющий не напрягать особо мозги..
L>А код сериализации в файл у тебя зам появляется?

It depends
Для целого ряда вариантов испогльзования он уже есть.. (отчёты, html странички, всякие конверторы)
В любом случае ИМХО печать в текстовый файл писать гораздо проще чем кучу сравнений

L>>>То есть молимся, чтобы датасет не дай бог переставит строчки?

V>>ставим сортировку явную, если такое возможно..
L>Ну вот, начинается. Но что не сделаешь чтобы в фало записать и дифом воспользоваться.

целые статьи посвящены тому что нужно делать чтобы использовать NUnit тесты
тоже знаешь ли код часто приходится менять

V>>>>а тут можно общую забабашить

L>>>Не забабашиш. Просто вводишь дополнительное звено. Тесты-то все-равно пишутся на прежнем языке.

V>>да, но они могут не подключать никаких дополнительных библиотек например..

V>>для тех же хранимых прцедур это актуально..
V>>да и вообще, нативную среду одну на всех написать да и не парится..
L>Не понял что ты имеешь в виду. Какую среду? Вот пишу я на шарпе, как мне использовать эту "нативную" среду?

на данный момент — писать консольную обвязку, вызывающую внутренние функции
хотя в плане — специальный адаптер, который позволит писать в стиле NUnit с аттрибутами
а загружатся будет "в среду" примерно так же как сейчас в NUnutGUI загружается

V>>>>я имею ввиду trace программы..

V>>>>который можно сравнивать с эталонным..
V>>>>ну или log выполнения, как тебе понятнее..
L>>>Боюсь, без модификации кода программы это не так-то легко сделать.
V>>ну во первых большинство сложных программ и так имеют развитую систему логов
L>Приведи, пожалуйста полный список большинства сложных программ, о котором ты говоришь.

зачем? полный?
все серверный и коммуникационные программы имеют логи
расчётные программы как правило тоже
многонитевые — как правило
и т.п.

L>P.S. Давай рассмотрим гипотетическую ситуацию. Ты выполняешь какое-то действие и должен проверить что в логе появилась запись. Эта запись должна иметь отметку о времени совершенного действия. Приведи схематичный пример того, как ты это будешь делать с твоим дифом.


ну ввожу как и в NUnit тестах специальный "тестовый" таймер который даёт "тестовое" время
что то вроде такого, но как я понимаю в секундах всё должно быть:

' <summary>тестовый класс для получения текущего времени (при каждом взятии возвращает время на день позже предыдущего)</summary>
Class TestTimeProvider
    Implements ITimeProvider
    ' <summary>счётчик времени</summary>
    Public count As Integer = 0
    ' <summary>перезапустить счётчик времени</summary>
    Public Sub Reset()
        count = 0
    End Sub
    ' <summary>получить текущее время</summary>
    Public ReadOnly Property Now() As DateTime Implements ITimeProvider.Now
        Get
            Dim ncount As Integer
            ncount = count
            count = count + 1
            Return DateTime.Parse("03.02.1976").AddDays(ncount)
        End Get
    End Property
End Class
http://izh-test.sourceforge.net/russian/introduction.html
Re[19]: [файловый diff/fc] vs [Assert.IsEqual()]
От: Lloyd Россия  
Дата: 13.07.06 08:24
Оценка:
Здравствуйте, vvaizh, Вы писали:

Ладно, задолбало спорить. Если тебе так понравился этот метод — исползуй его. Хозяин — барин. Я лично для себя не вижу в нем ничего интересного/полезного. Если будешь использовать, расскажи, что было удобно или неудобно в таком подходе.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.