2010-01-16 88 views
2

上个月我开始使用Qooxdoo,因此我的使用经验很少。我需要在Qooxdoo网站上创建一个像Testrunner这样的测试应用程序,但是我需要在我的应用程序环境中进行测试。我按照这些步骤:qooxdoo测试源应用程序

  • 创建
  • 编译源版本的应用程序与generate.py source
  • 创建generate.py test

测试在这个测试中,如果我尝试让我来访问我的应用程序一个错误,因为它未定义。

然后阅读网站上的文档,我发现这种类型的测试必须使用generate.py test-source完成。但是在测试文件夹中运行index-source.html的结果是一样的:应用程序不工作。

这是什么方法?我做错了什么?

+0

你能具体谈谈你的错误?在第一种情况下(“generate.py test”),究竟什么是未定义的?亚军应用程序开始了吗?你有没有在树形菜单中看到任何测试?或者只有在运行测试时才显示错误?请记住,qooxdoo的testrunner遵循JUnit方法,因为您拥有对依赖应用程序类进行操作的测试类。如果你尝试在测试中实例化你的主要Application.js,我认为这是行不通的。 – ThomasH 2010-01-17 18:47:09

+0

例如,在应用程序的main()方法中,我在应用程序对象上设置了一个属性“foo”。在测试中,我尝试以这种方式获取该属性“qx.core.Init.getApplication()。foo”,但它未定义,因此唯一的解释是应用程序未初始化。 – mck89 2010-01-18 08:11:50

回答

2

使用generate.py testgenerate.py test-source为您创建一个testrunner应用程序,就像您在qooxdoo网站上看到的一样。但是您自己的testrunner包含您在应用程序的测试命名空间中编写的每个测试。

该testrunner主要设计用于单元测试,这意味着测试应用程序的单个小部分。例如,如果您有某种数据操作对象,则可以通过在应用程序代码中创建这些对象来轻松测试该对象。对于像应用程序那样的小对象也是如此。您可以创建在一个单元测试您的应用程序的实例,并访问该应用程序的方法,以及:

var app = new customNamespace.Application(); 
this.assertTrue(app.yourMethodName()); 

但如果你真的需要一次测试整个应用程序,硒[1]可能是一个更好选择。 qooxdoo为用户提供了一个Selenium用户扩展,以便于处理qooxdoo应用程序。

[1] http://seleniumhq.org/

[2] http://qooxdoo.org/contrib/project/simulator

+0

感谢您的回答,所以目前没有办法使用只有qooxdoo testrunner测试整个应用程序 – mck89 2010-01-18 08:13:24

+0

对不起,我更好地阅读了您的答案并查看了文档,现在我明白了我应该怎么做。再次感谢你。 – mck89 2010-01-18 08:46:07