web-dev-qa-db-ja.com

drupal 7のシンプルなテストを使用してカスタムAjax機能のテストケースを作成する方法

Drupal 7.でカスタムajax機能のテストケースを記述しようとしています。_.js_ファイルでクリック時にイベントを発生させていますが、テストケースが失敗します。

私の_.tpl.php_テンプレートファイルには、次のコードがあります。

<a href="javasctipt:void(0)" id="myFirstEvent">Click Here</a>

Jsファイルでは、次のようにイベントを取得しています。

_$('#myFirstEvent').live('click', function())
$.ajax({
        cache: false,
        url: Drupal.settings.basePath + '?q=mymodule/add',
        data: {page: page, sort: sort, order: order},
        dataType: 'text',
        error: function(request, status, error) {
            alert(status);
        },
        success: function(data, status, request) {
            /**Function definition goes here**/

}
_

私のcustom.testファイルには、次のものが含まれています。

_$edit = array();
$this>drupalGet("myform/add");
$this->drupalPost('myform/add', $edit, 'myFirstEvent');
$this->assertResponse(200, 'Success');
_

しかし、テストケースを実行した後、成功画面(緑色)が表示されません。

2
Ravindra Singh

Simplejavaは単に無視するため、カスタムテストをsimpletestでテストすることはできません。 Simpletestは、#ajaxプロパティを使用してフォームに追加した場合にのみ、(xpathを介して)ajax動作をシミュレートできます。 http://api.drupal.org/api/drupal/developer!topics!forms_api_reference.html/7#ajax

カスタムjsをテストするには、Seleniumを確認してください。

3
czigor