2010-11-08 12 views
2

Les fichiers d'en-tête sont-ils nécessaires pour les tests unitaires Objective-C? Lorsque j'utilise OCUnit, GHUnit ou GTM Unit Tests, je ne vois pas l'intérêt de créer le fichier d'en-tête pour le test unitaire. J'ai l'impression que c'est juste un autre fichier que je dois garder à jour si je décide de changer mes tests unitaires.Les fichiers d'en-tête sont-ils nécessaires pour les tests unitaires Objective-C?

Les tests sont autonomes dans un fichier et je ne référence pas un ensemble de tests unitaires dans un autre fichier de test.

Exemple: SetupTests.m (avec GHUnit)

// SetupTests.m 
@interface SetupTests : GHTestCase 
{} 
@end 


@implementation SetupTests 

- (void) testMath { 
    GHAssertTrue((1+1)==3, @"Compiler isn't feeling well today :-("); 
} 

- (void) testFirstUT { 
    GHAssertEquals(1, 2, @"Should fail"); 
} 
- (void) testSecondUT { 
    GHAssertEquals(1, 1, @"Should pass"); 
} 
@end 
+0

XCode 5.0 combine les fichiers d'en-tête et d'implémentation lors de l'utilisation de l'assistant pour générer des classes de test. – Mike

+0

Bon à savoir. Cela ne s'applique probablement pas à GHUnit ou à d'autres tests de tiers. Il est préférable de simplement supprimer le .h pour GHUnit dans mes tests précédents. –

Répondre

4

Non, ils ne sont pas nécessaires. Vous avez raison, la fonction principale des fichiers d'en-tête est de séparer l'interface de l'implémentation afin que vous puissiez inclure la déclaration de la méthode (et autres) d'autres endroits.