基于 Django Unitest 注册类的视图

问题描述

搜索了很多。我在堆栈上阅读了很多帖子,但找不到答案。是否有可能制作一个测试类,以测试基于注册类的视图?试图找到答案但没有结果。

我的表格:

                         cn      admin      owner
0    SlackIntegration-test1  052355781  052355781
1    SlackIntegration-test2  001753781  052355781
2  SlackIntegration-pidtest  000326781  052355781
3  SlackIntegration-APItest             052355781

我的观点:

class RegisterForm(UserCreationForm):   
    class Meta:
        model = User
        fields = UserCreationForm.Meta.fields + ('username','password1','password2','email')

    def clean_username(self):
        username = self.cleaned_data.get("username")
        if User.objects.filter(username=username).exists():
            raise forms.ValidationError("User with that name already exist")
        return username

    def clean_email(self):
        email = self.cleaned_data.get("email")
        if User.objects.filter(email=email).exists():
            raise forms.ValidationError("Acount with that Email already exist")

和测试:

class Register(FormView):
    template_name = 'profile/register.html'
    form_class = RegisterForm
    redirect_authenticated_user = True
    success_url = reverse_lazy('landing-page')

    def get_context_data(self,**kwargs):
        context = super().get_context_data(**kwargs)     
        accepted_terms = AcceptTerms()
        context['register_form'] = context.get('register_form')
        context['accepted_terms'] = accepted_terms
        return context
    
    def form_valid(self,form): 
        user = form.save()
    
        if user is not None:
            login(self.request,user)
            messages.info(self.request,"account created")

        return super(Register,self).form_valid(form)

    def form_invalid(self,form):
        messages.error(self.request,form.errors)

        return super(Register,self).form_invalid(form)
    

问题是,我的测试没有将发布数据发送到我的视图 = 没有创建用户。有人可以帮我找到解决方案,如何用表单测试CBV?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)