社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Django

如何测试django createview和form的有效性

user1544500 • 5 年前 • 876 次点击  

这也许很基本,但我还是不知道如何测试django CreateView 哪个有 form_valid(self, form) 方法?

这是我的代码:

class NewPatientFormView(LoginRequiredMixin, CreateView):
    model = Patient
    fields = ['name', 'surname', 'phone', 'email', 'PESEL', 'age',
          'patient_agreement']

    def form_valid(self, form):
        self.object = form.save(commit=False)
        self.object.created_by_user = self.request.user
        self.object.save()
        return super().form_valid(form)`

我正在使用pytest,我只是不知道如何测试这个。我非常感谢一个简短的例子,如何可以测试…谢谢!

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/40241
 
876 次点击  
文章 [ 1 ]  |  最新文章 5 年前
Hanny
Reply   •   1 楼
Hanny    6 年前

我相信你必须在 setUp 你的测试。

class NewPatientFormTest(TestCase):

    def setUp(self):
        self.form_data = {
            'name': 'Billy',
            'surname': 'Masters',
            'phone': '123-358-2382',
            *...the rest of your form data...*
        }

在你 设置 确保其他数据设置正确。然后使用你的测试-可能是这样的:

def test_new_patient_form_is_valid(self):
    form = NewPatientForm(data=self.form_data)
    self.assertTrue(form.is_valid())

显然这是超级简单的-但应该让你在正确的方向上得到这个测试。