Pelo que entendi, você está procurando entender os testes de automação no Unity.
Ferramentas de teste do Unity
Esse deve ser o seu método goto, mas antes de explorar como, examinarei o porquê.
A maneira preferida de realizar qualquer forma de teste de automação é fazer isso em um ambiente o mais próximo possível da produção. Usar algo como as Ferramentas de Teste do Unity (vivendo dentro do Unity Editor) parece uma péssima idéia para quem escreveu testes de integração convencionais.
Por quê? Porque, em qualquer teste de integração, você deseja a menor quantidade de material extra atrapalhando seu aplicativo que não existe quando o usuário o abre. O Unity Editor pode ter desempenho ou comportamento diferente em comparação com a versão do iOS (por exemplo).
Então, por que usar as Ferramentas de Teste do Unity (UTT)?
A principal razão é a conveniência. O Unity Editor e a UTT são construídos para serem fáceis e visuais de usar. Você terá facilidade em escrever testes, conectá-los ao seu jogo específico e entender quando eles falharem.
E a diferença de comportamento entre o Unity Editor e a produção?
Afinal, o Unity Editor é um invólucro em torno de seu aplicativo. Isso significa que haverá algumas diferenças entre o Editor e a produção. Mas, deixando de lado os testes de integração, o Unity Editor é um invólucro há muito tempo. É uma plataforma madura, com milhares de jogos criados nela. Os resultados obtidos ao executar testes de integração dentro do Editor serão muito precisos.
No cenário de exemplo que você forneceu, tudo, exceto o primeiro item, pode ser facilmente afirmado usando as Ferramentas de Teste do Unity. Você pode abrir cenas e validar comportamentos como qualquer outro teste de integração.
Sugiro escrever a maioria (se não todos) de seus testes usando UTT. Para adicionar compatibilidade com ferramentas de integração contínua (por exemplo, Jenkins), convém executá-las no console usando argumentos de linha de comando .
Iniciando o aplicativo e testes manuais
Iniciar o aplicativo não é algo que você tenha controle preciso enquanto estiver no Unity Editor. Para validar esse aspecto do seu jogo e muito mais, você pode usar alguns testes manuais básicos.
Veja como abordar isso:
- Verifique se o seu jogo emite algum tipo de sinal quando atinge os marcos específicos com os quais você se preocupa (ou pode se importar). O registro em um arquivo é a abordagem mais comum (usando o registro interno automático ou uma versão de terceiros ).
- Leia e analise periodicamente os logs. Isso pode acontecer manualmente ou ser script usando sua segunda linguagem de script favorita.
Alternativas
Não surpreende que, como tudo relacionado à Unity, tenhamos mais do que algumas alternativas. Aqui estão alguns que você pode querer considerar:
Dependendo da escala e do escopo do seu projeto, convém empregar uma ou várias das opções descritas acima.