Use as classes Assert para teste de unidade
Use as classes Assert do namespace Microsoft.VisualStudio.TestTools.UnitTesting para verificar uma funcionalidade específica. Um método de teste de unidade executa o código de um método no código do aplicativo, mas relata a exatidão do comportamento do código somente quando você inclui instruções Assert.
Tipos de asserts
O namespace Microsoft.VisualStudio.TestTools.UnitTesting fornece vários tipos de classes Assert.
No método de teste, é possível chamar qualquer método da classe Microsoft.VisualStudio.TestTools.UnitTesting.Assert, como Assert.AreEqual. A classe Assert tem vários métodos disponíveis e muitos deles têm várias sobrecargas.
Comparar cadeias de caracteres e coleções
Use a classe CollectionAssert para comparar coleções de objetos ou verificar o estado de uma ou mais coleções.
Use a classe StringAssert para comparar e examinar cadeias de caracteres. Essa classe contém uma variedade de métodos úteis, como StringAssert.Contains, StringAssert.Matches e StringAssert.StartsWith.
Exceções
A exceção AssertFailedException é gerada sempre que um teste falha. Um teste falha quando seu tempo limite é atingido, quando gera uma exceção inesperada ou quando contém uma instrução assert que produz um resultado Com falha.
A AssertInconclusiveException é gerada sempre que um teste produz um resultado Inconclusivo. Normalmente, você adiciona uma instrução Assert.Inconclusive a um teste no qual ainda está trabalhando, para indicar que ele ainda não está pronto para ser executado.
Observação
Uma estratégia alternativa é marcar um teste que não está pronto para ser executado com o atributo IgnoreAttribute. No entanto, a desvantagem é que não é fácil gerar um relatório sobre o número de testes que ainda não foram implementados.
Se você gravar uma nova classe de exceção assert, herde da classe base UnitTestAssertException para facilitar a identificação da exceção como uma falha de asserção em vez de uma exceção inesperada gerada pelo código de teste ou de produção.
Para verificar se uma exceção que você espera que seja gerada por um método no código do aplicativo é realmente gerada, use o método Assert.ThrowsException.