通过从 xpcom 迁移到 npruntime,我更新了我的 firefox 插件以使用最新版本的 firefox(3.6 及更高版本)。
在这样做的同时,我编写了几个包装器,测试我的代码的唯一方法似乎是通过 javascript。
有人可以建议另一种方法来测试我的辅助对象吗?是否有任何其他类型的测试可能在这里有用?
我将重复我在回答您的其他问题时给您的建议,建议您考虑使用FireBreath来安装此插件;它已经具有使 NPObjects 运行良好的包装器,并且作为 Windows 上的额外奖励,您也可以在 IE 上使用您的插件。
也就是说,为 NPAPI 插件编写单元测试相当困难。根据你的代码是如何编写的,你可以“伪造”一些重要的函数——比如内存管理函数 NPN_MemAlloc 和 NPN_MemFree——然后使用它们来编写单元测试,或者你可以编写使用网页浏览器。
FireBreath 包括一个NPAPIHost项目,该项目旨在帮助对 NPAPI 插件进行单元测试,但尚未完全完成。不过,如果您愿意,您可以将其用作起点。
不过,老实说,我只会使用 FireBreath,然后您就可以专注于自己的代码,而不是尝试为脚本系统编写和维护自己的抽象。