问题描述
我搜索了很多。我在堆栈上阅读了很多帖子,但找不到答案。是否有可能制作一个测试类,以测试基于注册类的视图?试图找到答案但没有结果。
我的表格:
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 (将#修改为@)