在Qunit测试中使用Zend局部视图助手

时间:2012-07-03 12:50:05

标签: php javascript jquery zend-framework qunit

我对Zend和QUnit都很陌生,在设置我的QUnit测试来测试我的JavaScript时,我有点陷入困境。

我正在尝试测试一些DOM操作,我知道我必须将我正在测试的html放在我的Qunit测试文件中的#qunit-fixture div中。但是我有一个部分视图助手在我的主Zend应用程序中使用(在我的视图脚本中工作得很好),我只想回应而不是必须重写助手本身使用的html(以避免重复)。我试图测试的JavaScript在部分视图助手中使用,因此想要使用它。

这是我的应用程序的文件夹结构,只包含重要文件和其他一些文件:

├── application
│   ├── Bootstrap.php
│   ├── configs
│   ├── controllers
│   ├── layouts
│   │   └── scripts
│   ├── models
│   ├── plugins
│   └── views
│       ├── helpers
│       └── scripts
│           ├── error
│           ├── index
│           └── partials
│               └── partialViewHelperIWantToUse.phtml
├── docs
├── features
├── Gemfile
├── Gemfile.lock
├── js-tests
│   ├── qunitTestFile.html
│   └── vendor
│       └── qunit
│           ├── qunit.css
│           └── qunit.js
├── library
│   ├── Custom
├── public
│   ├── css
│   ├── img
│   ├── index.php
│   └── js
│       ├── jquery
│       │   └── jquery-1.7.2.min.js
│       └── javaScriptIWantToTest.js
├── Rakefile
├── tasks
└── tests
    ├── application
    │   ├── controllers
    │   └── models
    ├── bootstrap.php
    ├── library
    │   └── Custom
    └── phpunit.xml

我想在我的qunitTestFile.html中找到类似的东西(在js-tests中找到)

<div id="qunit-fixture">
    <?php echo $view->partial('partialViewHelperIWantToUse.phtml') ?>
</div>

但它目前无效。将qunitTestFile重命名为.phtml扩展名会导致没有回应,但错误“在非对象上调用成员函数partial()”出现在apache错误日志中(我预计会这样做但是这很简单!)。我有一种预感,我可能需要创建另一个引导程序文件,但两者兼而有之,Zend和Qunit对我来说是新的,所以我有点迷失。 =)

我希望这很清楚,我已经提供了足够的信息,但如果不是,请告诉我。

谢谢!

1 个答案:

答案 0 :(得分:0)

由于我不确切知道您使用哪个Zend版本,我不确定这是否对您有所帮助:

partial() - Function是视图的帮助器。由于在Zend_View-Context中调用View .phtml文件(如果使用Controller-Action来显示View),您应该使用

$this->partial('...');

您可以自己设置Zend_View,但根据您的目录结构,我假设您使用MVC模式。