如何手动创建Apache请求对象?

时间:2011-06-15 21:15:38

标签: perl apache unit-testing mod-perl embperl

是否有一个好的API可以让某人创建Apache类的对象?

该类本身似乎缺少构造函数;和概要不是很有帮助。我怀疑它是通过sublcass以某种方式完成的,例如Apache::Request

上下文是我正在尝试为使用Embperl的$HTML::Embperl::req_rec变量的模块编写测试(更具体地说,在其中包含的对象上调用uri()方法)。经检查,变量包含一个ref($req_rec) eq 'Apache'的对象。

注意:我特别要求构建一个REAL(虽然不一定是功能齐全的)对象。 嘲笑它(我显然很容易做到,而且最终可能最终会这样做。)

1 个答案:

答案 0 :(得分:2)

我不相信你可以创建Apache::Request个对象,句号。目的是让mod_perl运行时为你创建它们 - 它们内部绑定到Apache进程中的结构,这些结构可能无法从perl创建。

如果您只对对象执行相对简单的操作,则可以获得CGI对象来执行相同的工作。但是,如果发生任何复杂的事情,除了在实时Apache实例中模拟对象或测试之外,可能没什么其他选择。