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.
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.
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.
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.