Apache flex 是否有工具将对象状态捕获到磁盘?

Apache flex 是否有工具将对象状态捕获到磁盘?,apache-flex,testing,serialization,Apache Flex,Testing,Serialization,我想做的是将内存中的一个对象捕获到磁盘以进行测试。因为要达到这个状态需要很多步骤,所以我想捕获一次并跳过这些步骤 我意识到我可以手动模拟这些对象,但我宁愿“记录”和“重放”真实对象,因为我认为这样会更快 编辑:问题在于整个过程,而不仅仅是对象的序列化(还有文件操作),我希望有一个工具可以在标准对象上执行此过程。 我对这个应用程序的Actionscript感兴趣,但是 其他国家有这样的例子吗 编程语言 这个过程通常被称为什么 这将如何在中国实现 动作脚本 编辑: 是否有使序列化和文件操作自动

我想做的是将内存中的一个对象捕获到磁盘以进行测试。因为要达到这个状态需要很多步骤,所以我想捕获一次并跳过这些步骤

我意识到我可以手动模拟这些对象,但我宁愿“记录”和“重放”真实对象,因为我认为这样会更快

编辑:问题在于整个过程,而不仅仅是对象的序列化(还有文件操作),我希望有一个工具可以在标准对象上执行此过程。

我对这个应用程序的Actionscript感兴趣,但是

  • 其他国家有这样的例子吗 编程语言

  • 这个过程通常被称为什么

  • 这将如何在中国实现 动作脚本

编辑:

  • 是否有使序列化和文件操作自动化的工具(即没有特殊接口)

  • 其他人是否会认为建议的工具有用(如果不存在)

我所想的用例:

ObjectSaver.save(objZombie,"zombie"); //save the object
var zombieClone:Zombie = ObjectSaver.get("zombie"); // get the object

磁盘位置可以在某处配置。

将对象转换为字节(以便它们可以保存到磁盘或通过网络传输等)被称为


但在您的情况下,我认为序列化对于测试目的没有那么大的用处。当每次运行测试时,测试都会创建其所有测试数据时,您可以始终相信测试数据是您所期望的,并且没有从以前的测试运行中泄漏的副作用。

我认为您所说的是“对象序列化”

这个过程通常被称为什么?

  • 序列化/反序列化
  • 编组/解编组
  • 放气/充气
    • 它被称为


      Perl使用可存储模块来实现这一点,我不确定Actionscript是否正确。

      几天前我问了Flex同样的问题。ActionScript特别不支持序列化,尽管其中一个响应中提到的JSON库看起来很有希望。

      这过去被称为“检查点”(尽管这通常意味着保存整个系统的状态)。您是否考虑过将对象序列化为某种中间格式,然后创建一个构造函数来接受该格式的对象并基于该格式重新创建该对象?这可能是一种更直接的方法。

      查看界面。它可用于将ActionScript对象序列化为ByteArray。生成的数据可以很容易地写入磁盘或用于克隆对象


      请注意,这不是“自动”的。必须手动实现接口,并为每个要序列化的类编写
      readExternal()
      writeExternal()
      函数。您将很难找到一种“自动”序列化自定义类的方法,因为
      private
      成员只能在类本身中访问。如果要创建外部序列化方法,您需要将所有需要序列化的内容都公开。

      最接近的方法是使用ClassUtil从现有对象创建XML对象(手动保存XML)并从该XML创建对象。对于具有自定义类型数组的对象,需要按照文档中的说明正确配置ArrayElementType元数据标记和编译器选项

      ClassUtil.createXMLfromObject(obj);
      CreateClassFromXMLObject(obj,targetClass);
      

      如果使用AIR,则可以将对象存储在包含的本地数据库中


      下面是Adobe网站上的一个示例。

      我认为序列化是我应该采用的路径,但序列化只占需要保存到磁盘的一半。所以,问题是关于整个过程,而不仅仅是对象的序列化,我希望有一个工具可以在标准对象上完成这个过程。请给出一些您想要编写的测试用例的示例。例如,一些伪代码说明了您希望一个“理想”的框架如何满足您的需求。我必须按照您的注释添加上述代码。这些代码看起来像任何序列化框架。将文件写入某个磁盘位置是一个简单的粘合代码。问题是,你将如何使用这些方法?例如,“objZombie”是何时和如何创建的,以及“zombieClone”是何时和如何使用的?我仍然认为不应该将任何状态从一个测试存储到另一个测试。我在使用JSON包时遇到了一些问题(不断出现错误),所以我继续通过XML存储/检索对象。如果JSON包无法正常工作,我建议使用XML存储对象——这非常直观。