Quickを使ってテストがうまくいきません。どうしてでしょうか?

ボタンを押すとラベルに「Hello」と表示する機能をテストしたいのです。

作業環境

  • Mac OS X 10.10
  • Xcode 6.3.2 (Swift 1.2)

StoryBoard

StoryBoard

上のラベルオブジェクト「????」がmyLabelです。
下のボタンオブジェクト「Button」がmyButtonです。

テスト対象のViewController

import UIKit

class ViewController: UIViewController {
    @IBOutlet weak var myLabel: UILabel!
    @IBOutlet weak var myButton: UIButton!
    override func viewDidLoad() {
        super.viewDidLoad()
    }
    @IBAction func pushButton(sender: AnyObject) {
        self.myLabel.text = "Hello"
    }
    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
    }
}

テストの内容

import UIKit
import Quick
import Nimble
import TestApp

class ViewControllerSpec: QuickSpec {
    override func spec() {
        var vc : ViewController!
        beforeEach{
            vc = ViewController()
        }
        describe("ボタンを押す") {
            beforeEach{
                vc.beginAppearanceTransition(true, animated: false)
                vc.endAppearanceTransition()
            }
            it("myLabelのtextが変わる") {
                vc.myButton?.sendActionsForControlEvents(UIControlEvents.TouchUpInside)
                expect(vc.myLabel?.text).to(equal("Hello"))
            }
        }
    }
}

テスト結果

failed - expected to equal , got (user beNil() to match nils)

vc.beginAppearanceTransition(true, animated: false)vc.endAppearanceTransition() によって、viewDidAppear されているので、vc.myLabelにはnilが含まれないという認識なんですが、どうしてgot <nil>と返ってくるのかわかりません。

教えてください。よろしくお願いします。