나는 장고 응용 프로그램에서 django-ajax을 사용하고 있으며이를 사용하는보기에 대해 철저한 단위 테스트를 수행하려고합니다. MyApp를/endpoints.py에서장고보기에서 Ajax 종점 테스트
{% block head_js %}
<script type="text/javascript">
$(function() {
$('#progressbar').progressbar({
value: false
});
var checkStatus = function() {
$.ajax({
type: "POST",
url: '/ajax/MyApp/check_provisioning.json',
dataType: 'json',
success: function(data) {
if (data.data.complete != true) {
setTimeout(checkStatus, 3000);
} else {
// We've finished provisioning, time to move along.
window.location.replace('/MyApp/next');
}
}
});
};
checkStatus();
});
</script>
{% endblock %}
나는 기능 (간체)이 : 이제
def check_provisioning(request):
# Do some stuff
return {'complete': some_boolean}
을 ... 지금까지 내가 같은
는특정 뷰에 대한 나의 템플릿은 다음을 포함 뷰 기능이 실제 사용 상태에서 잘 작동 함을 알 수 있습니다. 그러나 단위 테스트를 할 때 django의 테스트 클라이언트는 렌더링 된 응답을 가져 오지만 그 안에 묻힌 어떤 것도 실행하지 않습니다.
뷰 및/또는 엔드 포인트 기능이 실제 수행하고있는 단위 테스트 방법을 아는 사람이 있습니까? 차라리 장고 테스트 프레임 워크를 사용하여 장고 아약스를 사용하는 전체 프로젝트에서 셀레늄 테스트를 설정하는 데 실패하지 않을 것입니다.
나는 할 수 있습니다. 하지만 내 질문의 마지막 단락을 발견하면 셀레늄을 사용할 필요가없는 방법을 찾고 있습니다. –
죄송합니다. 일부 업데이트를했습니다. –
감사합니다. 셀렌 테스트를 설정하는 것보다 개선되었습니다. 하나의 뷰 템플릿에서 하나의 함수를 테스트 할 때 여전히 과도한 느낌이 들지만, 그럴 경우 커스텀 스터프를 작성하는 것이 가장 좋지 않을 수 있습니다. –