Pergunta

Sim eu sei que eu sou muito atrás vezes, mas o que eu tenho aqui é um aplicativo editor VB6 antigo, que eu acredito que ninguém será a atualização para o .NET breve. Ele usa um par de terceiros ferramentas de DLLs do partido e como ele ainda está usando o bom controle RichEdit idade i, basicamente, pode levantar a minha própria fazenda Bug apenas com apenas esta ferramenta.

Assim é o bastante e eu estou tentando ver se eu posso usar TDD para que eu possa começar a escrever teste de unidade para cada comportamento / característica que eu preciso para corrigir, por isso, mais cedo ou mais tarde eu possa ter um conjunto de testes de regressão completa para esta ferramenta. E até mesmo no futuro se atualizar para .NET Acho que a maioria dos testes que eu escrevi deve ser útil para validar o comportamento correto e deve ser atualizável para uma versão .NET também, eu acho.

Alguns Googling básica enviar-me a este apelo ferramenta simplyVBunit , mas eu não posso encontrar guias suficientes, etc para me começou e sim, eu não sou tão proficiente com VB6 ou: (

  1. Então, alguém sabe de qualquer bom ferramentas / recursos para me usar TDD para este aplicativo VB6? [De preferência atualizável para .NET mais tarde apenas no caso.]
  2. ou posso realmente usar aqueles unidade estrutura de teste para NET, ou seja NUnit, etc através de uma solução alternativa?
  3. Ou seja, há uma ainda mais incrível maneira de conseguir este feito?

Obrigado:)

EDIT:

Eu tentei mexer com VBUnit mas eu achei que não há nenhuma maneira fácil de adicionar-lo para uma aplicação existente ou pelo menos não para o meu know-how. Assim eu encontrei este para brincar também, vb-lite-unidade e também este comunit . Além disso, há alguns dizendo que podemos usar NUnit com vb6 mas há ainda menos recurso sobre isso.

Foi útil?

Solução

VBUnit funcionou bem para mim em um antigo cliente em um projeto VB6.

Outras dicas

Eu tive muito suave experiência TDD usando SimplyVBUnit. Eu pensei que a amostra do código vem com foi bastante auto-explicativo.

A sua forma inicialmente carregado no arranque contém o controle. Em seguida, no sub Form_Load você:

 AddTest New TestDifferentAsserts

Os TestDifferentAsserts é uma classe vb. Parece algo como isto:

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

Na verdade amanhã eu estou recarregando vb6 no meu computador para cortar ao redor no meu computador com simplyvbunit.

[acrescentado EDIT]

Este é meu projeto Explorer no VB6:

Project Explorer

Form1 é onde o controle simplyvbunit está localizado.

O fonte código para este projeto.

Se você tem controles de terceiros, quem se importa. Envolvê-los com uma fachada. Em seguida, crie um esboço da fachada.

Se você precisar de mais ajuda, deixe um comentário.

Eu estou na situação foram temos uma enorme aplicativo VB6 que está no caminho para ser migrados para .NET. A versão migrada está totalmente unidade testada.

A estratégia que adotamos é a unidade de teste do aplicativo VB6 do .NET através de interoperabilidade. A principal vantagem que encontrei até agora é que os desenvolvedores VB6 acabar TDD aprendizagem (e todo o que isso implica):

  • Metodologia: primeiro teste, código depois ..
  • Arquitetura: SoC, coesão, DRY, ...
  • Tecnologia: ensaio e zombeteiros estruturas, recipientes de IoC ...

Esta solução é melhorar enormemente a qualidade do código da versão migrado como eles entendem como arquitetura coisas de uma maneira que facilita o teste. Além disso, há uma oportunidade potencial de usar os mesmos testes no VB6 ea versão .NET.

Não se esta solução é over-arquitetado para o seu problema. Você deve avaliar se é ou não é aplicável ou adequado na sua situação.

Cumprimentos.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top