J'ai une méthode :
-(void)startTaskForResult:(long long*)result {
...
}
La fonction que je veux tester en unité invoque la fonction ci-dessus :
-(void)doWork {
long long result = 0;
[self startTaskForResult:&result];
}
J'utilise OCMock pour faire des tests unitaires. Dans mon scénario de test, je veux définir l'option result
à une valeur simulée, par exemple 100, sans se soucier de l'implémentation réelle de la fonction -(void)startTaskForResult:(long long*)result
.
J'ai essayé de la manière suivante :
-(void)testDoWork{
// try to set 100 to argument 'result'
OCMStub([classToTest startTaskForResult:[OCMArg setToValue:OCMOCK_VALUE((long long){100})]]);
// run the function, but it doesn't use mocked value 100 for argument 'result'
[classToTest doWork];
...
}
Mais, lorsque j'exécute mon test, il n'utilise pas la valeur simulée 100 comme argument. result
. Quelle est la bonne façon de définir la valeur de l'objet fictif comme argument dans mon cas ?