J'ai écrit quelques cas de test Objective-C. Un typique regarde les éléments suivants:Les objets présentant des fuites sont-ils considérés comme OK dans les scénarios de test?
- (void) test_size_Equals_Excpectation_After_initWithSize
{
int size = 10;
Buffer* buff = [[Buffer alloc] initWithSize:size];
GHAssertEquals([buff size], size, nil);
}
tampon retourne alloc tampon avec comptage de référence 1, je ne l'ai pas soin d'appeler autorelease sur le tampon, il fuit après la sortie de funciton. Est-ce acceptable dans les scénarios de test?
D'accord. Le code de test ne sera pas persistant (ce qui signifie que les fuites disparaîtront à la sortie). D'un autre côté, vous modifiez le contexte dans lequel les tests se déroulent de manière subtile. Une fois que vos tests deviennent plus complexes (en utilisant peut-être une partie de votre code d'installation dans les maquettes), les choses deviennent risquées. Lâchez le tampon comme vous le feriez normalement et évitez les mauvaises habitudes. – Godeke
La plupart des frameworks de test ont des méthodes de configuration/démontage qui peuvent vous aider à gérer la mémoire, selon votre situation. – nall