gpt4 book ai didi

ruby-on-rails - Django 中 Rail 的测试路由相当于什么?

转载 作者:行者123 更新时间:2023-11-28 20:07:11 24 4
gpt4 key购买 nike

我正在阅读 Rails testing doc它在解释不同类型的测试时看起来相当全面。我还注意到关于 Testing Routes 的部分.有谁知道我如何在 Django/Python 中做到这一点?我有一堆网站,其中包含一些我需要测试的常用网址。以下是在 Ruby 中的实现方式:

def test_should_route_to_post 
assert_routing '/posts/1', { :controller => "posts", :action => "show", :id => "1" }
end

最佳答案

如果您只想像 Rails 那样测试路由,Ryan Wilcox explains how to test routes directly .要(简要地)封装他的答案,您可以导入解析器并测试它解析的内容:

>>> from django.core.urlresolvers import get_resolver
>>> resolver = get_resolver(None)
>>> resolver.resolve('/some/path/')
ResolverMatch(func=...)

请注意,匹配失败会引发您需要捕获的异常。

get_resolver(None) 为您的事件 settings.py 中的所有 路由获取解析器;如果您只想测试来自一个应用程序的路由,您可以执行以下操作:

>>> from django.core.urlresolvers import get_resolver
>>> import my_app
>>> resolver = get_resolver(my_app.urls)

(p.s. 上面假设你在一个 django-happy 解释器中,由 python manage.py shell 启动)

关于ruby-on-rails - Django 中 Rail 的测试路由相当于什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1322879/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com