Prévia do material em texto
Criação de Testes Unitários em Apps iOS com XCTest O que significa a letra F do F.I.R.S.T? · Final: Os testes devem ser escritos uma única vez, não sendo necessário atualizá-los caso a lógica seja alterada · Fast: Os testes devem rodar rapidamente · Final: Os testes devem ser escritos uma única vez, e devemos atualizá-los apenas quando a lógica for também alterada · Fast: Os testes devem ser desenvolvidos rapidamente · Nenhuma alternativa PRÓXIMA PERGUNTA Qual frase melhor define a expressão "No silver bullet"? · As soluções de outras pessoas nunca serão o bastante para solucionar os nossos problemas · Uma única função de teste não pode garantir que um determinado trecho de código está funcionando · Quando encontramos um problema no nosso projeto, não devemos tentar solucioná-lo · Todas estão corretas · Não existe uma única solução que atenderá a todos os problemas e todos os projetos PRÓXIMA PERGUNTA Quando devemos utilizar o atributo final? · Quando temos uma classe que será testada · Quando temos uma classe dentro do target de testes · Quando temos uma classe que não será herdada por outras · Quando temos uma struct que não será modificada · Nunca devemos utilizar os atributo final PRÓXIMA PERGUNTA Qual destas está correta com relação ao Code Coverage (cobertura de código)? · O coverage sozinho não indica se nossos testes estão sendo eficazes ou não · Todas as classes que aparecem no nosso coverage estão obrigatoriamente sendo testadas · O coverage deve ser sempre baixo (menos de 50%) · Todas estão corretas · Um coverage alto indica obrigatoriamente que nossos testes estão sendo eficazes PRÓXIMA PERGUNTA Como podemos importar outro target para ser testado dentro do nosso target de testes? · @testable import MeuTarget · @import MeuTarget · Não precisamos importar nada nos nossos testes, apenas o XCTest · @testable MeuTarget · import MeuTarget PRÓXIMA PERGUNTA Qual destas está incorreta com relação a importância de se utilizar injeção de dependências? · Nenhuma alternativa · Para se expor todos os atributos e métodos da camada a ser testada · Para evitar que a camada a ser testada dependa de um agente externo (ex: API) · Para que seja possível manipular os dados que serão injetados na camada a ser testada · Para que seja possível analisar os dados retornados pela camada a ser testada PRÓXIMA PERGUNTA O que significa a letra R do F.I.R.S.T? · Repeatable: Deve ser possível repetir os testes, obtendo resultados variados · Repeatable: Deve ser possível repetir os testes, obtendo sempre o mesmo resultado · Rapid: Deve ser rápido para se desenvolver os testes · Nenhuma alternativa · Rapid: Deve ser rápido para se executar os testes PRÓXIMA PERGUNTA Utilizando o XCTest, qual a maneira correta de se realizar uma asserção (verificação) que indique que dois valores são iguais? · Não é necessário realizar asserções nos nossos testes · match(valor1, valor2) · expect(valor1, valor2) · XCTAssertEqual(valor1, valor2) · compare(valor1, valor2) PRÓXIMA PERGUNTA Qual destes melhor define os testes unitários? · Testes que validam componentes do nosso sistema de maneira individual e isolada · Testes que validam todo o aplicativo de uma única vez · Testes executados por uma pessoa navegando pelo aplicativo · Testes que validam a UI do nosso aplicativo · Testes que só podem ser executados uma única vez PRÓXIMA PERGUNTA Quais destas foi uma boa prática sobre a nomenclatura dos testes abordada no curso? · Os nomes devem ser escritos em português · Os nomes devem ser curtos · Nenhuma alternativa · Os nomes devem indicar com clareza as condições e o resultado esperado do teste · Os nomes devem indicar com clareza a data em que o teste foi escrito e sob quais circunstâncias ele pode ser alterado PRÓXIMA PERGUNTA