3

我想使用 Flex Unit 4 Suite。

我真的没有任何单元测试经验。

我下载了交钥匙项目,但我有点不知所措。

我基本上只想从创建一个简单的 hello world 单元测试开始。

如果我有一个MyClass用 2 个方法square()cube().

我想像这样创建一个单元测试:

public class MyTest 
{
    public function testMyClass():void
    {
        var myClass:MyClass = new MyClass();

        assert(myClass.square(7) == 49);
        assert(myClass.cube(7) == 343);
        assert(myClass.square(5) == 50); // should fail
    }
}

我怎样才能让它工作?

4

2 回答 2

1

将一个新应用程序添加到您的 Flex 项目——使用后缀“UnitTest.mxml”命名它。添加对 TestRunnerBase 的引用,并在创建完成时启动 TestRunnerBase。这应该让你开始:

<?xml version="1.0" encoding="utf-8"?>

<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" xmlns:flexunit="flexunit.flexui.*" creationComplete="init();"><mx:Script>
  <![CDATA[

        import flexunit.framework.TestSuite;
  import FlexUnit.*;

  private function init():void{
   test.test = initSuite();
   test.startTest();
  }

  private function initSuite():TestSuite{
   var suite:TestSuite = new TestSuite();
   suite.addTestSuite(testMyClass);
   return suite;
  }
  ]]>
 </mx:Script>
 <flexunit:TestRunnerBase id="test" width="100%" height="100%" />
</mx:Application>
于 2010-10-18T21:27:52.247 回答
1

所以问题是你的测试甚至没有运行?在某个时候,某处,您应该会看到测试结果的显示,无论它们是通过还是失败。

我个人使用 ASUnit。前几天我在一个 Flex 项目中——这是我第一次在 Flex 项目中使用 ASUnit——当我按下编译按钮时,有人问我是否要启动我的应用程序,或者我是否想要而是启动 ASUnit 测试运行器。

所以是的,你的测试必须以某种方式手动调用,就像 adamcodes 建议的那样。

于 2010-10-19T15:26:49.143 回答