Подтвердить что ты не робот

Есть ли хорошие инструменты или ресурсы TDD для VB6?

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

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

Некоторые базовые Googling пришлите мне этот вызов simplyVBunit, но я не могу найти достаточно гидов и т.д., чтобы начать меня и да, я тоже не владею VB6: (

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

Спасибо:)

EDIT:

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

4b9b3361

Ответ 1

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

Ответ 2

У меня был очень гладкий опыт TDD с использованием SimplyVBUnit. Я думал, что образец, который поставляется с кодом, был довольно понятным.

Первоначально загруженная форма при запуске содержит элемент управления. Затем в элементе 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.

[ADDED EDIT]

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

project explorer

Форма 1 - это элемент управления simplevbunit.

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

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

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

Ответ 3

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

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

  • Методология: сначала проверьте, затем код.
  • Архитектура: SoC, cohesion, DRY,...
  • Технология: тестирование и фальсификация фреймворков, контейнеров IoC...

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

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

С уважением.