2017-05-30 5 views
0

Ich versuche eine Cocoapod zu erstellen, um Primitives in Swift zu erweitern. Ich habe Probleme Tests zu erhalten oder eine Fehlkonfiguration haben vorbei:Testen von Swift Extensions

Hier ist meine Nimble/Quick Test:

// https://github.com/Quick/Quick 

import Quick 
import Nimble 
import SwiftRubySyntax 


class TableOfContentsSpec: QuickSpec { 
    override func spec() { 
     describe("alphanumeric") { 

      beforeEach { 
       var validString = "abc" 
       var invalidString = "abc12" 
      } 

      it("validates alphas to be true") { 
       expect(validString).to(equal(validString)) // *** 
      } 

     } 
    } 
} 

*** I erhalten ein unresolved identifier "validString" Fehler

Was ich wirklich will Test ist ein Erweiterung. Aber die Variablen nicht zu meinem strings attached:

public extension String { 

    public var isAlpha: Bool { 

     let alphaSet = CharacterSet.uppercaseLetters.union(.lowercaseLetters).union(.whitespacesAndNewlines) 
     return self.rangeOfCharacter(from: alphaSet.inverted) == nil 
    } 

} 
+0

Nur eine Anmerkung Ihr Test ist wirklich nichts zu tun. Es vergleicht "validString" mit "validString" und Sie testen "isAlpha" nicht wirklich. – sbarow

+0

Dies ist nur für die Gesundheitsprüfung :-) "Im wirklichen Leben" testet es isAlpha – Jan

Antwort

2

Haben Sie Ihre Variablen außerhalb der beforeEach und stellt sie dann in den beforeEach

describe("alphanumeric") { 
    var validString: String! 
    var invalidString: String! 

    beforeEach { 
     validString = "abc" 
     invalidString = "abc12" 
    } 
    ... 
}