嘿傢伙!
我們用FlexUnit編寫UnitTests,我們只是測試我們的模型。現在我們也想測試視圖。在我運行測試之前,我創建了一個我的視圖和我的模型的實例來測試這些東西。當我嘗試訪問視圖時,我得到一個空指針異常。如果我將視圖添加到顯示列表中,它以某種方式起作用 - 即使我在添加後從列表中刪除它。實例化視圖將不起作用
它看起來是這樣的:
var myView: MyView = new myView();
//myView.initialize(); will throw error
Application.application.addChild(view);
Application.application.removeChild(view);
myView.initialize(); // will work
希望你可以給我一個提示。
西姆斯
+1。當你發佈這個消息時,我寫了幾乎相同的答案。在測試生命週期外實例化視圖是一個壞主意。如果他們沒有在環境中生活,他們是爲(生命週期)而設計的,那麼你就不知道他們的行爲是否正確。如果你不知道他們的行爲是否正常,單元測試失去了可靠性。考慮一種不同的方法,如視圖/行爲分離或用於測試視圖的功能測試工具。 – 2011-05-23 12:19:34
感謝您的回答。 也許我不得不說,這只是嘗試,因爲有許多FlexUnit測試,但他們只測試模型和應用程序的某些部分沒有模型,這是我的部分開始 - 測試GUI。
FlexMonkey出現了,但它似乎與FlexUnit非常相似 - (我可以問另一個問題^^)是否有一種方法可以將FlexUnit和Flexmonkey混合? – Sims 2011-05-23 12:29:34
@Sims我沒有看到FlexMonkey與FlexUnit類似。據我所知,可以將FlexMonkey測試保存爲AS3;並從那裏從FlexUnit跑步者中觸發它們。儘管如此,這並不是我親身體驗過的。 – JeffryHouser 2011-05-23 12:39:06