代码之家  ›  专栏  ›  技术社区  ›  Tower

如何单元测试ExtJS或类似的基于JavaScript的接口?

  •  8
  • Tower  · 技术社区  · 16 年前

    我正在使用PHPUnit测试我的PHP源代码,但是我也需要一种测试客户端代码的方法。我使用ExtJS构建相当复杂的接口来调用服务器获取数据。我想知道这里是如何测试用户界面?

    4 回复  |  直到 14 年前
        1
  •  4
  •   AutomatedTester    16 年前

    有很多不同的方法。

    如果你想测试它的功能(像一个用户),那么使用 Selenium 或 Watir

    JSTestDriver . 它允许您对JavaScript进行单元测试。它不支持异步调用,但可以进行测试。

        2
  •  7
  •   Brian Moeskau    14 年前

    Siesta

    我还亲自使用 Jasmine 对于我的单元测试,extjs团队内部也是如此,尽管它并不特别适合UI测试(尽管它非常适合测试代码)。

        3
  •  4
  •   rivanov    14 年前

    Siesta ,这是专门针对ExtJS的。看起来很有希望。这是Ext团队在从v3迁移到v4时用来测试API的方法。

        4
  •  0
  •   Zon    12 年前

    在从头开始调整EnterpriseExtJSGUI项目的测试平台时发现此页面很有用。这是一个插件和主题更新和我们的最终选择,基于几天的经验。我希望有人能节省时间,做出选择,避免第一次考试中的错误。

    第一项工作是将Netbeans中的所有东西都处理掉,并使用其内置的jsTestDriver引擎和默认的Jasmine库支持。成功了,但由于Jasmine主要是单元(独立的代码块)测试,我们可以提取一个普通的javascript对象,但未能提取Ext组件及其内容。我们尝试使用相同的标准方法导入Siesta库(在jsTestDriver.conf文件文件),但对ExtJS对象仍然没有帮助。我在Siesta论坛上发现,Siesta和jsTestDriver在架构上有一些主要的差异,所以我们决定放弃以节省时间。

    因为午睡是这样一个项目最明显的选择,下一步就是完全按照原来的计划来做 Brynthum tutorial . 不过,在IDE之外增加生产窗口而失去集成是不可取的。

    重要的是,Brynthum教程还有一个技巧。在Brynthum Harness Browser中通过第一个测试后,右侧看不到任何测试详细信息,并且会出现浏览器错误Uncaught TypeError:无法读取null的属性“parentNode”。原因是用于Brynthum线束浏览器的ExtJS库必须与Siesta库版本相对应。当前午睡2.0.5=分机4.2.0。出于项目目的,可以在配置文件中上载其他ExtJS库版本。