我的模型中有以下验证功能:
@classmethod
def validate_kind(cls, kind):
if kind == 'test':
raise ValidationError("Invalid question kind")
Run Code Online (Sandbox Code Playgroud)
我正在尝试如下测试:
w = Model.objects.get(id=1)
self.assertRaises(ValidationError, w.validate_kind('test'),msg='Invalid question kind')
Run Code Online (Sandbox Code Playgroud)
我也试过:
self.assertRaisesRegex(w.validate_kind('test'),'Invalid question kind')
Run Code Online (Sandbox Code Playgroud)
这两个都不能正常工作。我究竟做错了什么?
django django-testing django-errors python-unittest django-tests
使用覆盖率来查看需要测试的内容,覆盖率显示接下来必须进行测试:
send_alert.apply_async()
我知道这是芹菜任务,但是有什么方法可以测试代码行吗?
其余代码用于理解测试逻辑:
class SomeView(GenericAPIView)
def post(self, request, *args, **kwargs):
#some code
if not value:
send_alert.apply_async()
# response
# not if Response
Run Code Online (Sandbox Code Playgroud)
由于第一个答案而编写的测试
@patch('event.views.send_alert')
def test_send_alert(self, mock_send):
data = {some data for post}
response = self.client.post('/api/{0}/mettings/'.format(self.user), data)
print(response.json())
self.assertTrue(mock_send.called)
Run Code Online (Sandbox Code Playgroud)
我还检查了任务完成后的情况,print('Tasks Passed')我看到任务已通过的消息,但测试失败并出现错误AssertionError: False is not true
如何'Authorization': 'Token'在Django/DRF中添加TEST请求?
如果我使用简单的requests.get(url, headers={'Authorization': 'Token'}所有工作完美但如何在TestCase中做这样的请求?
您好,有什么方法可以检查模板中自定义用户 nit 请求用户的权限。代码示例:
{% for agency_user in users %}
<tr>
<td>{{ agency_user.username }}</td>
<td>{{ agency_user.get_full_name }}</td>
<td>{{ agency_user.groups.all.first.name }}</td>
<td>{{ agency_user.min_price }}</td>
<td>{{ agency_user.max_price }}</td>
{% if agency_user|has_perm:'may_see_commerce_sell' %} #not working
<td>some action</td>
{% else %}
<td>some action</td>
{% endif %}
<td>
<a href="{% url 'user_edit' agency_user.id %}" class="edit icon"></a>
<a user-id="{{ agency_user.id }}" class="trash icon" title="some action"></a>
</td>
</tr>
{% empty %}
<td style="text-align: center" colspan="11">some action</td>
{% endfor %}
Run Code Online (Sandbox Code Playgroud)
或者我必须为每个用户权限编写自定义模型方法?
类似于在 Profile 模型中思考:
def sell_commerce(self):
if self.has_perm('may_see_commerce_sell'):
return …Run Code Online (Sandbox Code Playgroud)