Testes na trilha de Visual Basic

Aprenda a testar seus exercícios de Visual Basic no Exercism


Um exercício baixado inclui estes arquivos para compilar e testar a sua 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 arquivos variam de acordo com o exercício. Escreva a sua solução no primeiro arquivo .vb. O segundo arquivo, cujo nome termina em Tests.vb, é a [suíte de testes do xUnit][xunit]. Em geral, você só vai editar esse arquivo para habilitar os testes seguintes. Você não vai precisar editar nenhum dos dois últimos arquivos. O arquivo .vbproj contém as configurações de compilação do projeto e as referências diretas a pacotes. O arquivo packages.lock.json gerado registra as versões resolvidas dos pacotes diretos e transitivos.

Note

Os testes descrevem o comportamento que uma solução precisa ter para passar. Eles podem ajudar a esclarecer detalhes que não são abordados pelas instruções.

Executando os testes

Abra um terminal no diretório do exercício e execute:

dotnet test

O comando restaura as dependências do projeto, compila o projeto e executa os testes dele. Você também pode usar dotnet watch test para executar os testes novamente sempre que um arquivo-fonte for alterado.

Testes ignorados

Os exercícios habilitam inicialmente apenas o primeiro teste, o que permite que você resolva o restante um passo de cada vez. Abra o arquivo cujo nome termina em Tests.vb para encontrar os testes. Cada teste é uma sub-rotina Sub marcada com um atributo <Fact> do xUnit. Um teste será ignorado enquanto o atributo <Fact> dele 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 habilitar o teste, basta remover o argumento Skip:

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

Depois que o teste recém-habilitado passar, repita esse processo com o próximo teste ignorado. Quando todos os testes estiverem habilitados e passando, você terminou.