2017-05-30 124 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" 
    } 
    ... 
}