嘿家伙!
我们用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