Verstehen und reduzieren Sie die Testausführungszeit mit dem ConcurrencyExtras-Paket in Swift

Post a reply

Smilies
:) :( :oops: :chelo: :roll: :wink: :muza: :sorry: :angel: :read: *x) :clever:
View more smilies

BBCode is ON
[img] is ON
[flash] is OFF
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: Verstehen und reduzieren Sie die Testausführungszeit mit dem ConcurrencyExtras-Paket in Swift

by Guest » 13 Jan 2025, 10:16

In meiner App für Unit-Tests verlässt sich unser Team stark auf das Tool zur Ausführung asynchroner Tests – ConcurrencyExtras – withMainSerialExecutor
Dieses Tool bietet die Möglichkeit, Testcode im Haupt-Thread zu starten, und das könnten wir auch Fügen Sie den Block „await Task.yield() hinzu, um auf den Abschluss eines längeren Vorgangs zu warten.
Es funktioniert gut, aber es scheint, dass die Testausführungszeit gestiegen ist, was ich verkürzen möchte Ausführung Zeit.
Bisher wurde hier nur die Lösung vorgeschlagen, die ich gefunden habe: Hinzufügen

Code: Select all

override func invokeTest() {
withMainSerialExecutor {
super.invokeTest()
}
}
Zu Beginn jedes Tests und mit MainSerialExecutor überall entfernen.
Es funktioniert und jetzt laufen meine asynchronen Tests schneller.
Meine Frage ist: Warum hat es die Ausführungszeit für asynchrone Tests verkürzt? Was ich getan habe, war im Grunde, die Ausführung jedes Tests im Hauptthread zu erzwingen, aber das manuelle Hinzufügen des withMainSerialExecutor-Blocks hat das Gleiche bewirkt. Vielleicht hat jemand eine andere Lösung, um die Ausführungszeit asynchroner Tests zu verkürzen?

Top