Cuál es el mejor framework de pruebas unitarias de Swift?

Yo recomendaría la combinación Quick / Nimble. En el momento de escribir esta respuesta, Quick tiene 5.796 estrellas en Github y dicen que más de mil aplicaciones lo están usando, así que no puedes equivocarte usándolos.

Quick es un framework de desarrollo orientado al comportamiento para Swift y Objective-C, inspirado en RSpec, Specta y Ginkgo. Nimble es un framework de matchers, compañero de Quick, que sirve para expresar tus pruebas usando un DSL muy cercano al inglés fluido. It supports a lot of built-in matcher functions, asynchronous expectations, and the possibility of writing your own matchers.

Here you have an example of test code (taken directly from their wiki):

  1. // Swift 
  2.  
  3. import Quick 
  4. import Nimble 
  5.  
  6. class TableOfContentsSpec: QuickSpec { 
  7. override func spec() { 
  8. describe(«the ‘Documentation’ directory») { 
  9. it(«has everything you need to get started») { 
  10. let sections = Directory(«Documentation»).sections 
  11. expect(sections).to(contain(«Organized Tests with Quick Examples and Example Groups»)) 
  12. expect(sections).to(contain(«Installing Quick»)) 
  13.  
  14. context(«if it doesn’t have what you’re looking for») { 
  15. it(«needs to be updated») { 
  16. let you = You(awesome: true) 
  17. expect{you.submittedAnIssue}.toEventually(beTruthy()) 
  18. }