Perguntas com a marcação «assertions»


4
Usando afirmações versus lançando exceções?
Frequentemente, quando escrevo uma função, quero garantir que as entradas sejam válidas para detectar esses erros o mais cedo possível (acredito que sejam chamados de pré-condições). Quando uma pré-condição falha, sempre lancei uma exceção. Mas estou começando a duvidar se essa é a melhor prática e, se não, as afirmações …

9
É possível escrever muitas afirmações?
Eu sou um grande fã de escrever assertverificações no código C ++ como uma maneira de capturar casos durante o desenvolvimento que não podem acontecer, mas acontecem devido a erros de lógica no meu programa. Esta é uma boa prática em geral. No entanto, notei que algumas funções que escrevo …


8
Deve haver asserções nas versões do release
O comportamento padrão do assertC ++ é não fazer nada nas compilações de versão. Presumo que isso seja feito por razões de desempenho e talvez para impedir que os usuários vejam mensagens de erro desagradáveis. No entanto, eu argumentaria que as situações em que um assertteria disparado mas foi desativado …


1
Testes unitários: asserções adiadas com Linq
Posso adicionar asserções adiadas como esta var actualKittens = actualKittens.Select(kitten => { Assert.IsСute(kitten); return kitten }); Por quê? Então, eu posso iterar apenas uma vez, mesmo com instruções que esperam uma coleta materializada, por exemplo: CollectionAssert.AreEquivalent(expectedKittens, actualKittens.ToList()); E também pode ser não apenas Select, mas um método com o iterador …

5
Como posso melhorar minha verificação e tratamento de erros?
Ultimamente, tenho me esforçado para entender qual é a quantidade certa de verificação e quais são os métodos adequados. Eu tenho algumas perguntas sobre isso: Qual é a maneira correta de verificar se há erros (entrada incorreta, estados incorretos etc.)? É melhor verificar explicitamente se há erros ou usar funções …
13 c  testing  assertions 



Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.