2024-03-29 11:30:52 发布
网友
我想测试一下
所以,这里是装饰器get_object和视图{}在{}中。在
get_object
@get_object def features(request, object): return {}
我试着嘲笑这个:
这没有显示任何内容,好像没有调用mock对象,尽管我认为它应该被调用。在
我怎样才能恰当地模仿装饰过的风景呢?在
当您调用patch时,您正在用一个全新的MagicMock替换视图。由于您正在为您的视图手动构造一个mock,因此您应该执行类似(未测试)的操作:
patch
MagicMock
new_view = Mock(__name__='features', return_value={}) features = get_object(new_view) with patch('myapp.views.features', features): client = Client() response = client.get('/features') print new_view.call_args
这将用您的手摇模拟代替myapp.views.features。在
myapp.views.features
不过,在一般情况下,你会推荐你的客户在没有装饰的测试中使用Django。你真的把两个测试混合在一起。第一个是确保decorator完成它的职责,另一个是确保请求被正确地路由。在
当您调用
patch
时,您正在用一个全新的MagicMock
替换视图。由于您正在为您的视图手动构造一个mock,因此您应该执行类似(未测试)的操作:这将用您的手摇模拟代替
myapp.views.features
。在不过,在一般情况下,你会推荐你的客户在没有装饰的测试中使用Django。你真的把两个测试混合在一起。第一个是确保decorator完成它的职责,另一个是确保请求被正确地路由。在
相关问题 更多 >
编程相关推荐