Testar no percurso de Visual Basic

Aprende a testar os teus exercícios de Visual Basic no Exercism


Um exercício descarregado inclui estes ficheiros para compilar e testar a tua solução:

hello-world/
├── HelloWorld.vb          # Your solution
├── HelloWorldTests.vb     # The test suite
├── HelloWorld.vbproj      # Project and build configuration
└── packages.lock.json     # Resolved project dependencies

Os nomes dos ficheiros variam de exercício para exercício. Escreve a tua solução no primeiro ficheiro .vb. O segundo ficheiro, que termina em Tests.vb, é o [conjunto de testes do xUnit][xunit]. De um modo geral, só vais editar este ficheiro para deixares de ignorar os testes seguintes. Não vais precisar de editar nenhum dos dois últimos ficheiros. O ficheiro .vbproj contém as definições de compilação do projeto e as referências diretas a pacotes. O ficheiro packages.lock.json gerado regista as versões resolvidas dos pacotes diretos e transitivos.

Note

Os testes descrevem o comportamento que a tua solução tem de cumprir para passar. Podem ajudar a esclarecer detalhes que as instruções não cobrem.

Correr os testes

Abre um terminal na pasta do exercício e executa:

dotnet test

O comando restaura as dependências do projeto, compila o projeto e executa os seus testes. Também podes usar dotnet watch test para voltar a executar os testes sempre que um ficheiro de código-fonte for alterado.

Testes ignorados

Inicialmente, os exercícios ativam apenas o primeiro teste, o que te permite resolver os restantes passo a passo. Abre o ficheiro que termina em Tests.vb para encontrares os testes. Cada teste é uma sub-rotina Sub marcada com um atributo <Fact> do xUnit. Um teste é ignorado enquanto o seu atributo <Fact> tiver um argumento Skip:

<Fact(Skip:="Remove this Skip property to run this test")>
Public Sub Lowercase_words()
    Assert.Equal("ROR", Abbreviate("Ruby on Rails"))
End Sub

Para ativar o teste, basta remover o argumento Skip:

<Fact>
Public Sub Lowercase_words()
    Assert.Equal("ROR", Abbreviate("Ruby on Rails"))
End Sub

Depois de o teste recém-ativado passar, repete este processo com o próximo teste ignorado. Quando todos os testes estiverem ativados e a passar, terminaste.