我正在使用phpunit在Laravel中進行測試。我運行一個測試,將其插入文本框並按下按鈕。然後,這是一個將信息發送到服務器並返回響應的Ajax Post。如果我返回一個字符串有下面的代碼,在測試中,我應該得到該字符串正確?在PHPUnit和Laravel測試中使用Ajax請求
我有以下的控制器:
class MyController extends Controller{
public static function createNewComplaintStep_2(){
return "error";
}
}
路線:
Route::post('/createNewComplaint_Step2', '[email protected]_2');
與形式和AJAX方法的視圖:
<form id="formToSubmit" data-value="createNewComplaint_Step2" class="form-horizontal">
{!! csrf_field() !!}
<div class="form-group">
<label class="col-md-4 control-label">Customer:</label>
<div class="col-md-3">
<input class="form-control" name="customer_name" required>
</div>
</div>
<button type="submit" class="btn btn-success" name="subBTN"\>
</form>
(...)
<script>
$('#formToSubmit').on('submit', function(e) {
var href = $(this).data('value');
e.preventDefault();
$.ajax({
type: "POST",
url: href,
data: $(this).serialize(),
success: function(msg) {
$("#container-fluid").html(msg);
$('.se-pre-con').hide();
}
});
});
</script>
PHPUnit的測試:
$this->visit('/createNew')
->type('NAME', 'customer_name')
->press('subBTN')
->see('error');
有什麼問題嗎?因爲如果我運行代碼,我得到錯誤
無法斷言頁面包含HTML [錯誤]。請檢查以上內容
以上內容爲高於的視圖。似乎ajax請求不適用於phpunit。 有什麼建議?
在此先感謝!