2017-05-30 103 views
0

我嘗試創建一個cocoapod來擴展Swift中的Primitives。我有麻煩得到測試合格或有一個錯誤配置:測試Swift擴展

這裏是我的敏捷/快速測試:

// 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)) // *** 
      } 

     } 
    } 
} 

***我得到一個錯誤unresolved identifier "validString"

我真的想測試是延期。但變量不重視我的琴絃太:

public extension String { 

    public var isAlpha: Bool { 

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

} 
+0

只是說明你的測試是不是真的做任何事情。它將'validString'與'validString'進行比較,而你實際上並不在測試'isAlpha'。 – sbarow

+0

這只是爲了sanityChecking :-)「真實的」生活它的測試是Alpha – Jan

回答

2

讓你的變量beforeEach外,然後將它們設置在beforeEach

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

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