Python Django在视图中测试ajax端点

Python Django在视图中测试ajax端点,python,ajax,django,unit-testing,django-testing,Python,Ajax,Django,Unit Testing,Django Testing,我正在django应用程序中使用,希望对使用它的视图进行更彻底的单元测试 特定视图的“我的模板”包含以下内容: {% block head_js %} <script type="text/javascript"> $(function() { $('#progressbar').progressbar({ value: false }); var checkStatus = function

我正在django应用程序中使用,希望对使用它的视图进行更彻底的单元测试

特定视图的“我的模板”包含以下内容:

{% 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 %}
现在。。。据我所知,在实际使用中,视图功能很好。 但是在进行单元测试时,django的测试客户机检索呈现的响应,但不运行其中嵌入的任何内容


有人知道我可以用什么方法来单元测试视图和/或端点函数是否真的在做它们应该做的事情吗?我不希望使用django测试框架为整个项目中使用django ajax的一个视图设置selenium测试。

您可以使用类似django casper的东西:

我没有使用它,但它似乎是一个django特定的python库,它与CasperJS和PhantomJS接口


PhantomJS是一款基于web工具包的无头浏览器,它提供了一种更轻量级的替代方案,以取代使用selenium的浏览器自动化。

我可以,是的。但是如果你注意到我问题的最后一段,我正在寻找不用硒的方法。谢谢你,这比设置硒测试有很大的改进。在一个视图模板中测试一个函数仍然感觉有些过分,但这可能是我所能期望的最好的方法,而不是编写一堆自定义的东西。不幸的是,我不认为有任何简单的方法来测试客户端javascript,除非你有某种无头浏览器或自动浏览器设置。
def check_provisioning(request):

    # Do some stuff                

    return {'complete': some_boolean}