Python 在简单的DRFAPI中测试什么?

Python 在简单的DRFAPI中测试什么?,python,django,testing,django-rest-framework,Python,Django,Testing,Django Rest Framework,所以,我不是一个测试专家,有时,当使用像DRF这样的包时,我想我应该在代码上测试什么 如果我为一些端点编写自定义函数,我知道我应该对此进行测试,因为我已经编写了这段代码,并且没有针对这段代码的测试。。。但DRF代码库经过了相当多的测试 但是,如果我正在编写一个只扩展ModelSerializer和ModelViewSet的简单API,我应该测试什么 JSON中的键被序列化了吗? 关系 我应该测试什么?即使您只使用自动功能,并且在序列化程序和视图集上完全没有添加自定义项,而且很明显这部分代码工作顺

所以,我不是一个测试专家,有时,当使用像DRF这样的包时,我想我应该在代码上测试什么

如果我为一些端点编写自定义函数,我知道我应该对此进行测试,因为我已经编写了这段代码,并且没有针对这段代码的测试。。。但DRF代码库经过了相当多的测试

但是,如果我正在编写一个只扩展ModelSerializer和ModelViewSet的简单API,我应该测试什么

JSON中的键被序列化了吗? 关系


我应该测试什么?

即使您只使用自动功能,并且在序列化程序和视图集上完全没有添加自定义项,而且很明显这部分代码工作顺利,您仍然需要编写测试

代码往往变得越来越大,而其他人可能正在扩展您的代码,或者您可能在几个月后回到您的代码,而不记得您的实现是如何的。知道测试正在通过将通知其他人(或您自己在遥远的将来)您的代码正在工作,而无需阅读它,并深入了解实现细节,这将使您的代码可靠

使用您的API的人可能正在服务中使用它,甚至对您用于实现的框架或语言不感兴趣,只想确保他/她所需的功能正常工作。我们如何确保这一点?一种方法是编写测试并通过测试


这就是为什么编写完整可靠的测试非常重要的原因,这样人们就可以安全地使用或扩展您的代码,知道测试正在通过,并且一切正常。

即使您只使用自动功能,并且在序列化程序和视图集上绝对没有添加自定义,很明显,这部分代码工作顺利,您仍然需要编写测试

代码往往变得越来越大,而其他人可能正在扩展您的代码,或者您可能在几个月后回到您的代码,而不记得您的实现是如何的。知道测试正在通过将通知其他人(或您自己在遥远的将来)您的代码正在工作,而无需阅读它,并深入了解实现细节,这将使您的代码可靠

使用您的API的人可能正在服务中使用它,甚至对您用于实现的框架或语言不感兴趣,只想确保他/她所需的功能正常工作。我们如何确保这一点?一种方法是编写测试并通过测试


这就是为什么编写完整可靠的测试非常重要的原因,这样人们就可以安全地使用或扩展代码,知道测试正在通过,并且一切正常。

测试ModelSerializer时,根据预期的模型字段检查请求负载

在测试ModelViewSet时,请对照视图集的预期状态代码检查响应HTTP_Status_代码。您还可以测试您的响应数据


一个好的资源-

在测试ModelSerializer时,对照预期的模型字段检查请求负载

在测试ModelViewSet时,请对照视图集的预期状态代码检查响应HTTP_Status_代码。您还可以测试您的响应数据


很好的资源-

谢谢!我做了一些序列化程序测试,比如检查验证是否有效等等,现在我正在测试视图集。。。但有时我认为我在测试DRF所测试的东西,比如说,当您使用
ModelSerializer
时,所有的验证都会自动为您处理。如果您想转而使用
序列化程序
类,则需要明确定义验证规则。明确定义这些规则需要测试它们的行为。在这种情况下,当您对序列化程序行为进行测试时,通常会测试该行为。嗯,好的。我确实重写了一个序列化程序方法并对其进行了测试,这是我认为应该测试的,bcs所有其他东西都是由drfThank you测试的!我做了一些序列化程序测试,比如检查验证是否有效等等,现在我正在测试视图集。。。但有时我认为我在测试DRF所测试的东西,比如说,当您使用
ModelSerializer
时,所有的验证都会自动为您处理。如果您想转而使用
序列化程序
类,则需要明确定义验证规则。明确定义这些规则需要测试它们的行为。在这种情况下,当您对序列化程序行为进行测试时,通常会测试该行为。嗯,好的。我确实重写了一个序列化程序方法并对其进行了测试,这是我认为应该测试的,bcs所有其他东西都是由drf测试的