【问题标题】:testing source application in qooxdoo在 qooxdoo 中测试源应用程序
【发布时间】:2010-01-16 12:04:55
【问题描述】:

我上个月开始使用Qooxdoo,所以我对它的使用经验很少。我需要在 Qooxdoo 网站上创建一个类似于 testrunner 的测试应用程序,但我需要在我的应用程序环境中进行测试。我按照以下步骤操作:

  • 创建应用程序
  • generate.py source编译源版本
  • 使用generate.py test 创建测试

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

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

什么是正确的方法?我做错了什么?

【问题讨论】:

  • 您能更具体地说明您遇到的错误吗?在第一种情况下(“generate.py test”),究竟什么是未定义的?跑步者应用程序是否启动?您在树形菜单中看到任何测试了吗?还是仅在您运行测试时才显示错误?请记住,qooxdoo 的测试运行程序遵循 JUnit 方法,因为您拥有对相关应用程序类进行操作的测试类。如果您尝试在测试中实例化您的主 Application.js,我认为这是行不通的。
  • 例如在应用程序的 main() 方法中,我在应用程序对象上设置了一个属性“foo”。在测试中,我尝试以这种方式获取该属性“qx.core.Init.getApplication().foo”,但它是未定义的,因此唯一的解释是应用程序未初始化。

标签: javascript testing qooxdoo


【解决方案1】:

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

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

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

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

[1]http://seleniumhq.org/

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

【讨论】:

  • 感谢您的回答,因此目前无法仅使用 qooxdoo testrunner 测试整个应用程序
  • 抱歉,我更好地阅读了您的答案并查看了文档,现在我明白了我应该做什么。再次感谢您。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-09-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-12-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多