Teste de integração

Numa seguinte situação:
Uma aplicação X precisa dos dados que um servidor SSO vai fornecer pra ela.
Mockar esse servidor SSO na hora dos testes não garantiria que alterando algo no SSO, não quebraria minha aplicação X.
Qual a saída nesse caso?

Isso está parecendo teste de sistema

[quote=j0nny]Numa seguinte situação:
Uma aplicação X precisa dos dados que um servidor SSO vai fornecer pra ela.
Mockar esse servidor SSO na hora dos testes não garantiria que alterando algo no SSO, não quebraria minha aplicação X.
Qual a saída nesse caso?[/quote]

Testes de integracao sao testes em cima de codigo real, voce vai testar a integracao entre a aplicacao X e o servidor, portanto tem que ser o servidor mesmo.

Voce nao pode mockar um teste de integracao, voce pode mockar testes unitarios. Voce iria fazer isso para testar como a aplicacao X se comporta se o usuario nao foi encontrado, se nao tem permissao, se a permissao é assim, assim ou assado. Com testes unitarios voce testa somente a aplicacao X e diminui a possibilidade de efeito colateral de alteracoes feitas nela mesma. Como um trecho de codigo que gera uma exceção amigavel ao não conseguir conectar ao servidor passar a gerar um NullPointerException devido alguma alteracao que voce fez e nao se atentou a esta possibilidade.

Nada vai garantir que alterando algo no SSO voce nao vai precisar alterar a sua aplicacao, mas nesses casos somente os testes de integracao vao detectar o erro antes de ser posto em produção.

[quote=YvGa][quote=j0nny]Numa seguinte situação:
Uma aplicação X precisa dos dados que um servidor SSO vai fornecer pra ela.
Mockar esse servidor SSO na hora dos testes não garantiria que alterando algo no SSO, não quebraria minha aplicação X.
Qual a saída nesse caso?[/quote]

Testes de integracao sao testes em cima de codigo real, voce vai testar a integracao entre a aplicacao X e o servidor, portanto tem que ser o servidor mesmo.

Voce nao pode mockar um teste de integracao, voce pode mockar testes unitarios. Voce iria fazer isso para testar como a aplicacao X se comporta se o usuario nao foi encontrado, se nao tem permissao, se a permissao é assim, assim ou assado. Com testes unitarios voce testa somente a aplicacao X e diminui a possibilidade de efeito colateral de alteracoes feitas nela mesma. Como um trecho de codigo que gera uma exceção amigavel ao não conseguir conectar ao servidor passar a gerar um NullPointerException devido alguma alteracao que voce fez e nao se atentou a esta possibilidade.

Nada vai garantir que alterando algo no SSO voce nao vai precisar alterar a sua aplicacao, mas nesses casos somente os testes de integracao vao detectar o erro antes de ser posto em produção.[/quote]

Certo, vlw pelas respostas. Deu pra entender a real diferença dos testes de integração.