【问题标题】:Unit Testing Flex/Flash Libraries in FlashBuilder在 FlashBuilder 中对 Flex/Flash 库进行单元测试
【发布时间】:2010-11-24 09:25:38
【问题描述】:

对于普通的 Flash/Flex 应用程序,我会将单元测试包含在我的应用程序项目中(可能在我的主 src 文件夹旁边的测试源文件夹中)。然后我会有两个应用程序入口点:应用程序和测试。

人们如何为他们的 Flex 库项目做到这一点?你知道,产生SWC文件的那种。据我所知,您无法为这些项目设置可执行入口点(以运行测试)。

【问题讨论】:

    标签: apache-flex flash unit-testing swc


    【解决方案1】:

    通常,Flash Builder 只允许您使用来自 Flex/AIR 应用程序的调试器,而不是库项目。所以最好的办法是将库加载到 Flex 应用程序中并在那里编写+调试测试。

    以下是能够在启用调试/步进的情况下测试您的库项目的分步说明:

    1. 创建要测试 + 调试的 Flex 库项目
    2. 创建一个普通的空 Flex 应用程序。我们将在这个虚拟 Flex 应用程序中编写测试,以便我们可以利用调试功能。
    3. 将库的构建路径设置为 Flex 应用程序的“libs”文件夹,以便将最新代码构建到 Flex 应用程序加载的 swc 中。

    4. (可选)设置 用于“参考”的 Flex 应用程序 Project 中的库项目 属性->项目引用,这个 确保首先构建库代码。

    5. 在 Flex 中编写测试 应用
    6. 调试并运行您的测试:您 应该能够逐步浏览您的图书馆 源代码!好的。
    7. (可选)一旦您感到满意,您的测试就一切顺利 将您的测试复制回 库项目将所有库的关联代码放在一个项目中。确保您没有在实际库 swc 中包含测试类。

    反正我就是这样做的。

    【讨论】:

    • 像这个解决方案一样,它也有助于将测试保持在源路径之外。
    【解决方案2】:

    如果我们假设您需要一个 mx:Application 入口点来运行单元测试,那么生成一个单独的应用程序项目来单独运行测试似乎是有意义的。

    您真的想在编译的 SWC 中包含单元测试吗? (对于应用程序来说,这不是问题,因为它们可能没有被引用,但对于 SWC 库,我认为如果它们在某个文件夹层次结构中,它们会被编译)

    【讨论】:

    • 不,您可以选择将哪些文件编译到您的库 SWC 中(项目属性 -> Flex 库构建路径)。
    【解决方案3】:

    在 Flash Builder Beta 1 及更高版本中,您可以从库项目中编写和执行 Flexunit 测试。

    您可以使用 FlexUnit 的 IDE 集成功能,从上下文菜单中选择项目、文件夹、类或方法,然后使用“执行 Flex 单元测试”。这将创建所需语法的应用程序文件,运行应用程序并在 FB 中显示结果。您甚至可以从结果中进行选择并运行所需的测试。

    【讨论】:

      【解决方案4】:

      目前没有测试库项目的方法。您必须有一个应用程序作为测试的入口点。对于 Flash Builder 4,这将是一个很棒的 feature request

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-05-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多