问题标签 [flexunit4]
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.
actionscript-3 - 使用hamcrest比较as3对象的正确方法是什么
我正在尝试比较两个对象,看看它们是否相同,使用 hamcrest 作为 flex-unit,但是当对象有子对象时,它只会抛出一个错误:
我希望它做一个 assertThat(..., hasProperties(...)); 在子对象上。
有没有办法得到它或者我应该创建一个自定义匹配器?
编辑
我想测试的对象结构的一个例子:
由于预期和 objectUnderTest 具有相同的结构,测试应该通过,但返回错误:
此外,如果有办法比较两个 JSON 字符串也可以。
编辑2
这是我在 djib 帮助后的最终版本:
actionscript-3 - 当单元测试依赖于其他单元时,它们如何模块化?
我正在尝试对一个相当复杂但使用 MVC 的应用程序进行回顾性单元测试。我知道追溯应用单元测试并不理想,但我仍然相信通过重构现有代码是可能的。大多数情况下,如果不依赖其他单元,就不可能对一个单元进行单元测试,即视图依赖于模型。
在这种情况下进行单元测试的最佳方法是什么?使用真实模型还是创建模拟模型更好?
在我的情况下使用真实模型的问题在于该模型依赖于从 XML 获取数据的其他响应类,因此存在依赖链。这个模型有很多数据,所以使用它会容易得多,但也许我错过了重点。
为简洁起见,我提供了应用程序的 UML。
**编辑 ****
好的,如果我是正确的,在模拟类中创建模拟数据是最佳实践吗?例如,我有一个模拟类“MockPlaylistPanelModel”,它创建视图类“PlaylistPanel”运行而没有错误所需的数据:
actionscript-3 - 两个绑定失败的 TextInput 文本更改的 Flexunit 测试
我正在尝试为 flex 中的视图编写单元测试。reportName
TextInput和属性之间有两种方式绑定_parameters
。当我运行代码时绑定工作正常,但测试失败。以下是许多以类似方式失败的测试之一。测试失败并显示以下消息:
中的跟踪消息parameters_changeHandler()
显示以下内容:
所以 TextInputreportName
正在正确更新,但是我在测试中设置文本的方式是撤消绑定,至少我认为这是问题所在。
如何维护两个绑定并仍然更新值?是否有另一种方法来模拟用户输入数据?
查看.mxml:
位置分析参数.as
ViewTest.as 包视图 {
apache - Mockolate 验证错误:非法覆盖.. Flex SDK 4.10 更新后
自从我们将应用程序中的 flex sdk 升级到 4.10 后,我们在运行使用 mockolate 的单元测试时遇到了验证错误。
它们似乎发生在模拟ByteArray
在方法签名中使用 a 的接口时。
示例界面:
示例测试类:
使用 flexmojos 6.0.1 编译和运行测试时,会抛出以下错误:
VerifyError:错误#1053:在 mockolate.generated.IFileSystemHelper8F2B5D281827800A824B85B588C6F2A08AE814ED 中非法覆盖 IFileSystemHelper8F2B5D281827800A824B85B588C6F2A08AE814ED
我最初的怀疑是 playerglobal(或我们的例子中的 airglobal)的 sdk 版本问题,所以我用 sdk 4.10 重新编译了 mockolate(和 flexunit),没有任何结果。
唯一可行的方法是从方法签名中删除 ByteArray 类型......但这并不是一个真正的选择:-)(这在以前从来不是问题)
有没有人遇到过类似的问题?
谢谢
ant - Jenkins 中 FlexUnit for AIR Mobile 项目的 ANT-Task
我正在使用 Flex 4.11.0 和 AIR 4.0 构建一个移动应用程序。我的 IDE 是 Flash Builder 4.7。我编写了很多单元测试,其中一些使用了 AIR 功能,例如文件系统访问。
我正在尝试将该项目集成到 jenkins 上的 CI 工作中。我有一个执行以下操作的 ANT 脚本:
- 编译
- 安卓包装
- iOS 包装
- 生成 ASDOC
我现在想要的是编写一个 ANT-Task 来启动我的单元测试并生成 XML 或 HTML 格式的报告,之后 Jenkins 可以对其进行解析。
我尝试了以下方法: - 遵循http://tutorials.digitalprimates.net/flexunit/Unit-16.html上的教程并让示例正常工作。但是,这是一个 Flash 项目,而不是 AIR 项目!- 阅读https://cwiki.apache.org/confluence/display/FLEX/FlexUnit+Ant+Task上的文档,从 git@github.com:flexunit/flexunit.git 下载并构建 FlexUnit 代码以获取 FlexUnit4AIRCIListener。 swc - 从各地阅读互联网上的大量信息,但没有找到答案(我确实找到了一些提示,但很多信息已经过时或引用了死链接)
到目前为止,我有以下内容:
以下是我的 FlexUnit.mxml-Application 的相关部分:
第 1 步。从 ANT-Task 工作(至少我得到了 FlexUnit.swf)。但是,在<flexunit>
-Task 中启动 SWF 失败:
控制台输出:[flexunit] 生成默认值 ... [flexunit] 使用默认工作目录 [D:\workspaces\flex\projects\clx-satellite] [flexunit] 使用以下设置进行测试运行:[flexunit] FLEX_HOME: [D:\tools\sdk\flex\4.11.0_AIR4.0] [flexunit] haltonfailure: [false] [flexunit] headless: [false] [flexunit] display: [99] [flexunit] localTrusted: [true] [flexunit ] 播放器:[flash] [flexunit] 端口:[1024] [flexunit] swf:[D:\workspaces\flex\projects\clx-satellite\FlexUnit.swf] [flexunit] 超时:[180000ms] [flexunit] toDir: [D:\workspaces\flex\projects\clx-satellite\deploy\flexUnit] [flexunit] 设置服务器进程 ... [flexunit] 启动服务器 ... [flexunit] 在端口 [1024] 上打开服务器套接字。[flexunit] 等待客户端连接... [flexunit] 操作系统:[Windows] [flexunit] 启动播放器:[flexunit] 使用参数执行 'rundll32':[flexunit] 'url.dll,FileProtocolHandler' [flexunit] 'D:\workspaces\flex\projects\clx-satellite \FlexUnit.swf' [flexunit] 围绕可执行文件和参数的 ' 字符是 [flexunit] 不是命令的一部分。[flexunit] 客户端已连接。[flexunit] 将入站缓冲区大小设置为 [262144] 字节。[flexunit] 接收数据 ... [flexunit] 向播放器发送确认以开始发送测试数据 ... [flexunit] [flexunit] 停止服务器 ... [flexunit] 到达测试数据结束,向播放器发送确认... FileProtocolHandler' [flexunit] 'D:\workspaces\flex\projects\clx-satellite\FlexUnit.swf' [flexunit] 围绕可执行文件和参数的 ' 字符是 [flexunit] 不是命令的一部分。[flexunit] 客户端已连接。[flexunit] 将入站缓冲区大小设置为 [262144] 字节。[flexunit] 接收数据 ... [flexunit] 向播放器发送确认以开始发送测试数据 ... [flexunit] [flexunit] 停止服务器 ... [flexunit] 到达测试数据结束,向播放器发送确认... FileProtocolHandler' [flexunit] 'D:\workspaces\flex\projects\clx-satellite\FlexUnit.swf' [flexunit] 围绕可执行文件和参数的 ' 字符是 [flexunit] 不是命令的一部分。[flexunit] 客户端已连接。[flexunit] 将入站缓冲区大小设置为 [262144] 字节。[flexunit] 接收数据 ... [flexunit] 向播放器发送确认以开始发送测试数据 ... [flexunit] [flexunit] 停止服务器 ... [flexunit] 到达测试数据结束,向播放器发送确认... [flexunit] 将入站缓冲区大小设置为 [262144] 字节。[flexunit] 接收数据 ... [flexunit] 向播放器发送确认以开始发送测试数据 ... [flexunit] [flexunit] 停止服务器 ... [flexunit] 到达测试数据结束,向播放器发送确认... [flexunit] 将入站缓冲区大小设置为 [262144] 字节。[flexunit] 接收数据 ... [flexunit] 向播放器发送确认以开始发送测试数据 ... [flexunit] [flexunit] 停止服务器 ... [flexunit] 到达测试数据结束,向播放器发送确认...
当我包含一个不使用File
-Class 的测试时,测试工作并且我得到一个类似的错误 ( ReferenceError: Error #1065: Variable flash.desktop::NativeApplication is not defined.
),但至少测试运行通过并且我得到 XML 输出。在我看来,FlexUnit 与 AIR 并不真正兼容,尽管我player=air
在任务中使用。
你们中是否有人有通过 ANT 为 AIR 应用程序(可能是移动应用程序)运行 FlexUnit 单元测试的工作示例?
actionscript-3 - 从哪里获得 Flexunit 4.x?
我需要 flexunit4.x,任何人都请给我一个工作 url 以便在哪里下载它,任何教程 URL 都会非常棒。
从我的在线搜索中,所有页面都指向 flexunit.org,它似乎不再工作了。
unit-testing - 我在哪里可以获得 FlexUnit
简单的问题,我在哪里实际下载 FlexUnit 二进制文件?我发现:
https://cwiki.apache.org/confluence/display/FLEX/FlexUnit+Getting+Started
和
https://github.com/flexunit/flexunit
第一个链接转到似乎不存在的 www.flexunit.com。
第二个有所有源代码,但没有构建说明。
flash - FlexUnit 测试未在 Jenkins 中运行
我正在尝试通过我的本地网络 jenkins 服务器构建一个带有单元测试的 flash 应用程序。我已将其设置为 maven 工件,并且正在使用 flexmojos 6.0.1 maven 插件来构建它。当我通过我的开发环境(intelliJ)或命令行在本地构建它时,一切似乎都完美无缺(甚至是单元测试)。我已经在我的客户端和服务器计算机上尝试过。两者都完美地工作。但是当我尝试开始我在 jenkins 中创建的作业时,flexmojos 无法运行单元测试,返回一个 java 错误:'accept timed out'。如果我禁用单元测试,它会在 jenkins 中正确构建。测试是使用 flexunit 4 编写的。
我的猜测是 jenkins 无法在 flash 播放器中打开生成的 testrunner.swf 并且 flexmojos 会因此而超时。Flash 播放器 exe 在 PATH 上可用。
我已经在互联网上搜索过,试图找到有关此问题的更多信息,但那里的信息似乎很少。Flexmojos 似乎没有很好的文档记录,目前还不清楚谁在领导这个项目(如果有人的话?)。这是一个非常有用的 maven 插件,但如果你正在使用 flash。
我应该提到我在客户端和服务器上都使用 Windows。我想在 windows 中设置 jenkins 以运行单元测试会更容易,因为它不是无头服务器,并且在 windows 中使用 flash 更容易。
有没有人在尝试让 jenkins 使用 flexmojos 运行单元测试时遇到类似的问题?
flash - 在使用 maven 和 flexmojos 构建时为 AIR 应用程序运行 flexunit4 测试
可能吗?由于 AIR 是纯动作脚本(无 flex),而 flexunit4 在运行测试时使用 flex 构建它的 testrunner SWF。还是我错过了什么?否则,是否有任何其他单元测试库可以在 maven 构建中与 flexmojos 一起使用?
我正在使用 flexmojos 版本 6.0.1、flexunit 4.1.0 和 AIR sdk 19.0。有任何想法吗?有没有人设法让它使用与此类似的设置?
eclipse - 未生成 FlexUnitApplication.html 和 FlexUnitApplication.swf
语境
我有
- Eclipse Indigo 服务 Release 2 中的一个项目 Flex-Java,(一个 Web 应用程序)
我使用插件 Flash-builder 来处理它。
我使用 SDK 4.5.1
我想做什么
1) 我尝试用 FlexUnit4 做一个简单的测试用例。当我创建一个新的测试用例时):新建>测试用例类,Eclipse默认创建:
- 将 flexUnitTests + 与我的新测试用例一起打包:(例如:TestDoc.as)
- 默认打包一个文件:FlexUnitCompilerApplication.mxml
- FlexUnitCompilerApplication 的 html 一个 swf 文件在 bin-debug 文件夹中自动生成。
到目前为止一切似乎都很好,所以我尝试执行单元测试:
2)我想执行单元测试:
- 在默认包中创建 FlexUnitApplication.mxml
问题:
编译器不生成文件:bin-debug 文件夹中的 FlexUnitApplication.hmtl 和 FlexUnitApplication.swf...
并且在“错误屏幕”中写入了一个错误:
- 描述不可能解决所有资源“FlexUnitTestRunner”
地点或本地化:未知
抱歉,我尝试从法语版本中翻译描述
其他信息
我在其他项目中成功地做到了这一点...... FlexUnitApplication 文件是自动生成的。
问题)
似乎,它与这个特定项目中的某些东西绑定在一起。也许有些东西阻碍了自动生成这些文件的过程??我想不通为什么?
是否可以强制编译器执行这些文件(html 和 swf)?
我真的迷路了......我尝试了一些东西,我查看了属性,元数据......我真的不明白。
有人可能对此有想法,我能做什么,我能检查什么?
先感谢您