Cancelando o Registro de Referências a Objetos de Teste

Os métodos de script auxiliares referem-se a um objeto no aplicativo em teste utilizando o mapa de objetos de teste. O Teste Funcional localiza esses objetos mapeados sempre que um método é chamado no objeto. Em alguns casos, no entanto, você pode optar para que o Teste Funcional não faça isso. Por exemplo, você poderia chamar vários métodos diretamente no mesmo objeto e seria perda de tempo o Teste Funcional localizar o objeto sempre que um método fosse chamado. O método TestObject.Find pode ser utilizado para localizar um objeto sem que o Teste Funcional chame nenhum método no objeto. O TestObject.Find retorna um novo TestObject contendo um tipo diferente de referência para o objeto no aplicativo em teste. Essa referência é, às vezes, chamada de referência de ligação, referência localizada ou referência não mapeada.

Uma referência de ligação retém o acesso ao objeto no aplicativo em teste até que o registro à referência seja explicitamente cancelado. O Teste Funcional cancela o registro de referências de ligação apenas na finalização completa da reprodução, não na finalização do script. Enquanto existir uma referência de ligação no objeto, o Teste Funcional pode evitar que o objeto no aplicativo seja inteiramente livre. Por exemplo, enquanto você mantiver uma referência de ligação a um objeto Java, o objeto Java não será coletado como lixo. É necessário cancelar explicitamente o registro de todas as referências de ligação criadas tão logo não sejam mais necessárias.

Em um script normal do Teste Funcional, os únicos TestObjects que contêm referências mapeadas são aqueles dos scripts auxiliares. Os outros TestObjects contêm referências de ligação e devem ter o registro cancelado. Por exemplo, o método TestObject.GetTopParent é declarado explicitamente para retornar um TestObject. Os outros métodos são declarados para retornar um System.Object, mas podem retornar um TestObject que deve ter o registro cancelado -- por exemplo, TestObject.GetProperty.

O RationalTestScript contém vários métodos que removem referências a TestObjects, incluindo o net.Rational.Test.Ft.Script.RationalTestScript.Unregister e o UnregisterAll. (Consulte a Referência à API do Teste Funcional para obter informações sobre esses métodos.)

Os objetos que são retornados do aplicativo em teste que não são TestObjects são objetos que representam um valor. O tipo desse objeto é referido como classe de valor. Uma classe de valor é uma cópia do objeto no aplicativo em teste, não uma referência a um objeto nesse aplicativo. Exemplos comuns de classes de valores são Integer e System.Drawing.Rectangle.

O gravador e os assistentes do Teste Funcional somente geram código que retornam classes de valores. Por exemplo, uma propriedade que você vê na etapa de teste de Propriedades do Objeto é aquela cujo valor é uma classe de valor. Você pode chamar TestObject.GetNonValueProperties para localizar as propriedades de referências disponíveis para um determinado objeto. Você pode chamar TestObject.GetMethods para ver a lista de todos os métodos que poderiam ser chamados ao chamar TestObject.Invoke.

Cuidado ao lidar diretamente com TestObjects que contenham referências a objetos no aplicativo em teste, porque isso pode criar instabilidade no aplicativo. Cancele o registro desses TestObjects o mais rápido possível.

Termos de uso | Feedback
(C) Copyright IBM Corporation 2002, 2004. Todos os Direitos Reservados.