Question

J'écris une méthode de test où je veux que la SUT ait une exception dans certaines conditions.Le code ressemble à ceci:

- (void) testCantStartTwice
{
    XCTAssertThrows([self.sut start], @"");
}

Maintenant, tout va bien et le test passe.Cependant, j'aime Xcode définit un point d'arrêt d'exception pour toutes les exceptions Objc, qui est assez utile lorsque vous testez une application dans le débogueur.Comme vous maintenant, maintenant, lorsque j'exécute ma suite de tests avec ⌘u, il s'arrête maintenant à ce test et on dirait que si cela échoue, même s'il est indiqué que "Test a succédé".

Toute façon de faire le point d'arrêt ne pas arrêter à ce test?

merci et tout le meilleur

Était-ce utile?

La solution

Peut-être que vous pourriez utiliser un point d'arrêt de défaillance de test au lieu d'un point d'arrêt d'exception lorsque vous testez.La vidéo WWDC 2013 sur les tests de l'unité a décrit un très bon flux de travail pour inspecter les défaillances de test.Cela dit essentiellement:

  1. Définissez un point d'arrêt de panne de test qui vous permettra d'inspecter les conditions causées par l'échec.
  2. Si nécessaire, définissez un point d'arrêt manuel plus tôt dans le test et la réception afin que vous puissiez passer à travers les déclarations menant à l'échec comme d'habitude.
  3. Ce n'est pas vraiment une réponse directe, mais aussi loin que je sache, je ne pense pas qu'il existe un moyen de créer des exceptions au point d'arrêt d'exception.J'espère que cela aide

Autres conseils

J'ai eu le même problème et je cherchais une solution pendant 2 heures.Probablement nous ne pouvons rien faire avec ça.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top