Saturday 11 November 2017

Waitforexpectationsweit Mit Objektiven Kriterien


Ich hatte das gleiche Problem. Das Update für mich schien das Timeout-Intervall zu erhöhen. Ich hatte ursprünglich ein Timeout-Intervall von 1 und erhöhte es auf 5 nur um auf der sicheren Seite zu sein. Scheint jetzt gut zu funktionieren. Im nicht sicher, wie lange Ihr asynchroner Anruf dauert, oder wenn Sie sich ein längeres Timeout-Intervall als 1 leisten können, aber es ist ein Schuss wert. Antwortete am 24 November 14 um 20:14 Ich habe versucht, in 50 Fällen hat es geholfen. Sie können in Code sehen, den ich gepostet habe, dass async gerade dispatchafter ist, das 0,5s wartet. Am Ende neige ich die Erwartung nach Warteblock und mache alle Behauptungen auch nach Warteblock. Also passiert nichts beim Warten, sondern erfüllt. Ndash Micha Hernas Nov 25 14 at 11:18 Swift hat besondere Schwierigkeiten, den korrekten Ausnahmestreckpunkt zu zeigen, wenn Verschlüsse im gleichen Umfang vorhanden sind. Ive gesehen das gleiche Problem in einer XCTestCase, die dispatchafter verwendet und sogar durch die Ausnahme Breakpoint war die gleiche Zeile wie waitForExpectationsWithTimeout der Testfall war zum Absturz wegen eines Downcast auf einem Nil-Objekt. Ich weiß, das ist nicht dein Fall, aber wann immer dies geschieht, schlage ich vor, die Aussagen eine Zeile zu einer Zeit zu entfernen und den Test nach jedem Ausbau zu führen. Wenn der Test nicht abstürzt, hast du den Täter identifiziert. Dies ist leider die beste Option zum Zeitpunkt dieses Schreibens, wenn Swift einen Ausnahme-Breakpoint auf einer Linie zeigt, die keinen Sinn macht, vor allem die berüchtigte Linie 0 einer Klasse, die man in Crash-Reporting-Tools sehen könnte. Lassen Sie uns wissen, wenn Sie Ihren Absturz herausgefunden haben. Synchronous Unit Testing in Xcode 6 Im vergangenen Jahr habe ich eine Methode zur Implementierung von asynchronen Unit-Tests in Xcode 5 beschrieben. Let8217s erinnern uns an das Problem mit asynchronen Unit-Tests. Viele APIs auf der iOS-Plattform selbst sind asynchron. Sie haben Rückrufaufrufe, um zu signalisieren, wann sie fertig sind, und diese können in verschiedenen Warteschlangen laufen. Sie können Netzwerkanforderungen tätigen oder in das lokale Dateisystem schreiben. Dies können zeitaufwändige Aufgaben sein, die im Hintergrund laufen müssen. Dies schafft ein Problem, da Tests selbst synchron laufen. Also müssen unsere Tests warten, bis sie benachrichtigt werden, wenn die laufende Aufgabe abgeschlossen ist. Ich habe eine Methode vorgeschlagen, die eine Boolesche Fahne im Unit-Test und Looping in einer while () - Schleife anhielt, bis das Flag auf false gesetzt wurde, so dass der Test ordnungsgemäß abgeschlossen wurde. Diese Methode hat die meiste Zeit gearbeitet, aber ich war noch nie so zufrieden, es war ein bisschen ein Kludge. In diesem Blog-Post habe ich festgestellt: Ich habe immer noch meine Vorbehalte gegen diese Technik, und ich bin immer noch auf der Suche nach der perfekten Lösung für asynchrone Unit-Tests in Xcode. Sie würden denken, dass Apple eine Lösung in XCTest, vielleicht ähnlich der Implementierung in GHUnit zur Verfügung gestellt haben könnte. Hier8217s was die Objective-C-Version eines nackten Knochens Beispiel asynchrone Einheit Test in Xcode 5 mit der alten Methode sieht aus wie: Aktuelle Beiträge Beliebte Posts Kategorien

No comments:

Post a Comment