@ Бенджамин, спасибо, @MarkJ хе-хе, пока это полезно, ответит прочь :)

знаю, что я сильно отстал, но у меня есть антикварное приложение-редактор VB6, которое, я считаю, скоро никто не обновит до .NET. Он использует несколько сторонних DLL-инструментов и, поскольку он все еще использует старый добрый элемент управления RichEdit, я в принципе могу создать свою собственную ферму ошибок, используя только этот инструмент.

Этого достаточно, и я пытаюсь понять, смогу ли я использовать TDD, чтобы начать писать модульный тест для каждого поведения / функции, которые мне нужно исправить, поэтому рано или поздно я смогу получить полный набор регрессионных тестов для этого инструмента. И даже в будущем, если мы сделаем обновление до .NET, я думаю, что большинство написанных мною тестов должны быть полезны для проверки правильности поведения и должны быть обновлены до версии .NET, я думаю.

Какой-то базовый поиск в Google отправит меня на этот инструментальный вызовsimplyVBunit, но я не могу найти достаточно руководств и т. д., чтобы начать, и да, я не настолько опытен с VB6 :(

Так кто-нибудь знает какие-либо хорошие инструменты / ресурсы для меня, чтобы использовать TDD для этого приложения VB6? [Желательно обновить на .NET позже на всякий случай.]Или я могу на самом деле использовать эти рамки модульного тестирования для .NET, то есть NUnit и т. Д. Через обходной путь?Или есть еще более удивительный способ сделать это?

Спасибо :)

РЕДАКТИРОВАТЬ:

Я пробовал возиться с vbunit, но обнаружил, что нет простого способа добавить его в существующее приложение или, по крайней мере, не знаю, как это сделать. Таким образом, я нашел это, чтобы играть с тоже,VB-Lite-модуль а также этоcomunit, Плюс есть поговорка, что мы можем использоватьNUnit с vb6 но на это еще меньше ресурсов.

Ответы на вопрос(3)

Решение Вопроса

VBUnit хорошо работал для меня на бывшем клиенте проекта VB6.

 Jim Anderson28 янв. 2009 г., 20:00
@ melaos я не знаю Я никогда не сталкивался с такой проблемой.
 melaos22 янв. 2009 г., 04:29
@ Джим, есть ли простой способ добавить vbunit к уже существующему приложению, подобному тому, которое я упомянул выше? Я проверяю учебник, но мне кажется, что мне придется добавлять кусочки приложения по крупицам? Благодарю.
 melaos22 янв. 2009 г., 03:04
Спасибо за предложение, я собираюсь попробовать это :)
 melaos22 янв. 2009 г., 06:46
@ Джим, я следовал за руководством, я могу создать новый проект vbtest просто отлично. Но когда я пытаюсь добавить класс vbtestframework и приспособление к моему существующему проекту, я не могу заставить работать vbrunner. Он заявляет iSuite как тип UDF и не может его найти.
 Jim Anderson22 янв. 2009 г., 05:16
@ melaos - я не уверен, что ты имеешь в виду. Прошло много времени с тех пор, как я использовал его, но я не помню никаких проблем с добавлением его в существующее приложение. На самом деле, я начал с проекта без юнит-тестов.

it. Я думал, что пример, с которым идет код, был довольно очевиден.

Ваша изначально загруженная форма при запуске содержит элемент управления. Затем в подпрограмме Form_Load вы:

 AddTest New TestDifferentAsserts

TestDifferentAsserts является классом vb. Это выглядит примерно так:

Public Sub TestFloatCompareTolerance()
   ' we will use the default tolerance of 0.00001
   Assert.AreEqual 9#, 9.000001, "Should be equal!"

   ' The Expected value must be a Double or Single
   ' for the tolerance to be used in the comparison.
   Assert.AreEqual 9, 9.000001, "This will fail because we didn't use a float for the expected value."
End Sub

На самом деле завтра я перезагружаю vb6 на своем компьютере, чтобы взломать мой компьютер просто с помощью vbunit.

[ДОБАВЛЕНО РЕДАКТИРОВАТЬ]

Это мой проект Explorer в VB6:

Form1 - это место, где расположен элемент управления simplevbunit.

исходный код для этого проекта.

Если у вас есть сторонний контроль, кого это волнует. Оберните их фасадом. Затем создайте заглушку с фасада.

Если вам нужна дополнительная помощь, оставьте комментарий.

 melaos03 февр. 2009 г., 03:35
@Gutzofter, на самом деле мое приложение состоит из основного exe с большим количеством сторонних DLL. как настроить тест в этом случае? Благодарю.
 Gutzofter04 февр. 2009 г., 21:03
@melaos, см. мое обновленное редактирование
 Dabblernl16 авг. 2010 г., 17:33
+1 Я пользуюсь им уже несколько недель, иногда глючит, но мне очень помогло.
 melaos22 янв. 2009 г., 08:24
Ммм, может быть, я был слишком занят поиском лучших инструментов TDD, на которые я действительно не обращал внимания. Я вернусь и вернусь к этому инструменту тогда. Благодарю.
 Gutzofter17 авг. 2010 г., 05:08
@dabblernl - как это глючит. Я еще не столкнулся с какими-либо проблемами. Но было бы хорошо прокомментировать это здесь, чтобы другие люди имели представление о его слабостях.

когда у нас есть огромное приложение VB6, которое находится на пути к миграции на .NET. Мигрированная версия полностью протестирована.

Подход, который мы выбрали, заключается в модульном тестировании приложения VB6 из .NET через COM-взаимодействие. Основное преимущество, которое мы обнаружили на данный момент, заключается в том, что разработчики VB6 в конечном итоге изучают TDD (и все, что оно подразумевает):

Методология: сначала проверь, потом код.Архитектура: SoC, сплоченность, СУХОЙ, ...Технологии: тестирование и макеты фреймворков, контейнеры IoC ...

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

Не уверен, что это решение чрезмерно разработано для вашей проблемы. Вы должны оценить, применимо или нет в вашей ситуации.

С уважением.

 melaos03 февр. 2009 г., 02:59
@ Бенджамин, спасибо, @MarkJ хе-хе, пока это полезно, ответит прочь :)
 MarkJ23 янв. 2009 г., 19:05
Это звучит, возможно, чрезмерно для melaos, но это полезная информация для остальных из нас - спасибо Бенджамину
 Ben Arroyo23 янв. 2009 г., 11:37
Я использую MbUnit уже два года, и я доволен этим. Я настоятельно рекомендую использовать MbUnit 2.4. Подождите немного больше, прежде чем перейти к версии 3; все еще глючит.
 melaos23 янв. 2009 г., 02:26
@ Benjamin Итак, какой инструмент вы использовали для юнит-тестирования? NUnit?

Ваш ответ на вопрос