问题标签 [flexunit]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
151 浏览

apache-flex - Flex - 找不到导入 AbstractMatcherTestCase

我正在尝试在 FlashBuilder 4.5.1 中使用 Flex Unit,但收到警告“找不到导入 AbstractMatcherTestCase”。谁能让我知道我错过了什么?我有 hamcrest-as3-flex-1.1.3.swc 作为该项目的参考库之一。

我正在尝试按如下方式导入:

导入 org.hamcrest.AbstractMatcherTestCase;

谢谢

0 投票
2 回答
1316 浏览

actionscript-3 - 设置 Event.target 以在单元测试中使用事件

我想覆盖 flash.display.Loader 并用我自己的 target.content 调度我自己的事件

我如何覆盖 Event.target?“属性是只读的”

或者使用其他方式对加载顺序进行单元测试

tnx Hed

0 投票
1 回答
1091 浏览

apache-flex - 如何使用 FlexUnit 4 和 mockolate 在模拟对象上模拟 AsyncResponder 和生成的处理程序函数

我正在尝试为我在 Flex 4.5.1 中编写的一个类编写一些单元测试,分别使用 FlexUnit 4 和Mockolate作为我的测试和模拟框架。我正在为我的自定义事件使用as3 信号

我正在编写和测试的功能是ArcGIS API for Flex中QueryTask类的包装类 (QueryQueue) 。这使我能够轻松地将多个查询任务排队等待执行。我的包装器 QueryQueue 将在处理完所有查询响应后调度一个事件。completed

界面非常简单。

这是一个示例用法:

对于我的测试,我目前正在模拟 QueryTaskFactory 和 QueryTask 对象。简单的测试,例如确保查询被相对直接地添加到队列中。

但是,我也希望能够测试该execute方法。此方法应执行添加到队列中的所有查询。处理完所有查询结果后,将completed调度事件。测试应确保:

  1. execute在每个查询上调用一次且仅一次
  2. inProgress = true结果尚未处理
  3. inProgress = false处理结果时
  4. completed在处理结果后调度
  5. canceled从不调用(对于有效查询)
  6. 队列内完成的处理正确处理和打包查询结果

到目前为止,我可以为项目 1 到 5 编写测试,这在很大程度上要归功于 weltraumpirat 提供的答案。我的执行测试现在看起来像这样。

QueryQueue.execute方法看起来像这样。

对于上面的测试#6,我想要做的是测试在queryTaskResultHandler和中返回的数据是否queryTaskFaultHandler被正确处理。

也就是说,completed在所有查询响应(包括成功和失败结果)返回之前,我不会调度事件。

为了测试这个过程,我认为我需要模拟每个模拟查询任务的结果和故障处理程序中返回的数据。

那么,我如何模拟传递给通过AsyncResponder使用 FlexUnit 和 mockolate 创建的结果处理程序的数据。

0 投票
1 回答
254 浏览

actionscript-3 - 编写动态单元测试(flexunit)令人困惑。我如何使这个更加模块化?

我一直潜伏在这里寻求帮助,现在我找不到我当前问题的答案。

返回信息

我正在写一些单元测试(耶!)。我有 40 个实现接口的对象。该接口中的一个函数接受两个参数,一个矩形和一个矩形数组:

public function foobar(foo:Rectangle, bar:Array/*Rectangle*/):void;

我想为这 40 个对象中的每一个编写测试。为了确保我测试所有可能性,我需要在 foo 和 bar 的变化(长度和内容)有变化的地方运行测试。所以 foo 的 x 个数和 foo 中 1 到 x 个 Rectangle 数。

每个实现该接口的对象都在运行一个算法,该算法将对 bar 中的每个 Rectangle 进行一些计算并更改它们的属性。每种算法都会产生截然不同的结果。

如果我选择有 10 个可能的 foo 对象和 10 个可能的 bar 数组对象,我最终会写数千个!的测试。我不想手写数千个测试。


问题

编写一个算法来获取可能的对象,并对产生结果的所有可能配置进行runts测试,然后我回去手动检查所有结果是否正确,对我来说是否太落后了?这只是进行单元测试的错误方法吗?

运行产生结果的算法是否错误,然后手动检查输出?

我的另一个想法是我为算法提供可能的对象,它会吐出一些为测试工具格式化的 xml 或 json,然后我通过每个测试,填写缺少的断言值,然后将它们提供给他们?

我的另一个计划是编写一个算法,该算法接受 foo Rectangle 列表和要在 bar 中使用的可能 Rectangle 列表,并让该算法以适用于我的测试工具的格式生成 JSON(它包括断言)。由于生成 JSON 的算法不知道断言,因此我会在通过测试工具发送之前将其手写。

这是一种常见的做法吗?


感谢您的任何反馈:)

0 投票
1 回答
202 浏览

actionscript-3 - FlexUnit:我可以对文件上传进行单元测试吗?

我可以使用 FlexUnit 对文件上传和删除进行单元测试吗?这些动作是单元测试的好例子吗?

我对单元测试有点陌生,并试图弄清楚我的 UI 的哪些部分适合单元测试。

感谢您提供任何有用的提示。

0 投票
1 回答
150 浏览

actionscript-3 - 如何使用相同的先决条件数据来测试大型应用程序的多个模块?

我正在使用 actionscript 开发自定义游戏。该应用程序有几个模块。该应用程序是数据密集型的。为了启动应用程序,您需要加载许多其他 swf、JSON 等。我不想测试 UI 位(暂时)。我要测试的是:

  • 没有模块崩溃
  • 我得到理智的答案

我不关心 UI 和视觉异常。

我想为模块和单独的测试类编写单独的测试套件。更有条理。

问题:

为了测试最简单的函数,我需要加载 X、Y、Z 数据。X,Y,Z 数据对所有模块都是通用的。

我如何编写不同的测试类和套件并只预加载一次数据并在整个测试中使用该数据副本。大多数数据在测试过程中不会改变。

0 投票
2 回答
1480 浏览

maven - 配置 Flash 播放器以与在 Maven 发布期间执行的 Flexmojos 一起使用:执行

我有一个使用 Flexmojos 执行单元测试和构建 SWC 的 Maven 项目。当它执行单元测试时,我需要告诉 Flexmojos 我的 Flash 播放器在哪里,我通过以下方式进行settings.xml

这在开发中效果很好,但是当我执行 Maven 时release:perform,它失败了:

为什么release:perform找不到指定的 Flash 播放器settings.xml?我怎样才能解决这个问题?

更新:

我还尝试了以下方法:

  • 将 Flash 播放器设置为.swf文件的默认程序(注意这是在 Mac 上)
  • 添加flashplayer到路径

……一切都无济于事。

更新 2:

如果我将 Flash Player 调试器放在名称为 的路径上flashplayer,则错误变为:

......没有进一步的线索,什么失败了。

0 投票
1 回答
128 浏览

actionscript-3 - 如果测试失败,是否停止 FlexUnit 测试运行?

我使用 FlexUnit 4.1 和 Adob​​e 的 TestRunnerBase 来运行一套集成测试,以验证 3 层 BlazeDS/Java EE/MySQL 服务器的完整性。

为了在运行这些测试时绕过 Apache Shiro 强制执行的安全检查,我配置了两个单独的测试运行:一个以 root 身份登录,一个执行实际的集成测试。

由于 BlazeDS 处理重复会话的方式(这是另一个问题的问题,或者更确切地说,它已经存在),有时登录机制会失败 - 在这种情况下,我希望 TestRunner 暂停所有进一步的活动。

我已经到处寻找一些方法来配置 FlexUnitCore 以在测试失败时停止,但无济于事。此外,似乎只有 TEST_START 和 TEST_COMPLETE 的事件,而不是 TEST_FAIL 的事件。

是否有其他方法可以找出测试是否失败,以阻止跑步者?

0 投票
1 回答
347 浏览

actionscript-3 - 为弹性单元测试重新创建一堆组件(flexunit)

我有一堆 NumericSteppers(开始周、开始年、结束周、结束年),它们深入 ViewStacks、NavigatorContents 等。我想对我的日期步进器进行单元测试,并且想知道我该怎么做?当我初始化顶级父组件时,不会创建子组件。我是否必须通过向下迭代树来手动添加所有这些组件(请说不:))?我可以使用 UIImpersonator 吗?

对不起,如果问题是基本的,Flex 对我来说很新。

0 投票
1 回答
861 浏览

apache-flex - jenkins 服务器上的 flexunit --- ant 无法无错误地构建

我已经在我的 jenkins 中安装了 vncserver、flex sdk 4.6 和 xvnc 插件。

不知道我还需要做什么。

这是我来自詹金斯的最后一条构建错误消息

在我的工作区项目中,我运行了 ant build.xml

我明白了

当我运行 ant 时在同一个文件夹中

我明白了

请指教。

谢谢你。