使用 **kwargs 在 factory boy test 中调用函数
Calling a function in factory boy test with **kwargs
我正在尝试编写一个测试,其中我必须调用接受 **kwargs 的模型函数
这是我模型中的函数
def send_message(self, **kwargs):
from django.core.mail import send_mail
from django.conf import settings
send_mail(
recipient_list=[self.email_from,],
from_email=settings.INFORMATION_FROM,
**kwargs
)
这是我在测试中尝试访问此提及功能的地方
def test_send_message(self):
send_message = self.user.send_message()
print send_message
并收到此错误 TypeError: send_message() takes at least 4 arguments (2 given)
由于这是 Django 的 send_email()
function,它需要至少提供 4 个参数:
send_mail(subject, message, from_email, recipient_list, fail_silently=False, auth_user=None, auth_password=None, connection=None, html_message=None)
您没有将 subject
和 message
传递给 send_message
函数。修复它:
def test_send_message(self):
send_message = self.user.send_message(subject="Test subject", message="Test message")
print send_message
我正在尝试编写一个测试,其中我必须调用接受 **kwargs 的模型函数 这是我模型中的函数
def send_message(self, **kwargs):
from django.core.mail import send_mail
from django.conf import settings
send_mail(
recipient_list=[self.email_from,],
from_email=settings.INFORMATION_FROM,
**kwargs
)
这是我在测试中尝试访问此提及功能的地方
def test_send_message(self):
send_message = self.user.send_message()
print send_message
并收到此错误 TypeError: send_message() takes at least 4 arguments (2 given)
由于这是 Django 的 send_email()
function,它需要至少提供 4 个参数:
send_mail(subject, message, from_email, recipient_list, fail_silently=False, auth_user=None, auth_password=None, connection=None, html_message=None)
您没有将 subject
和 message
传递给 send_message
函数。修复它:
def test_send_message(self):
send_message = self.user.send_message(subject="Test subject", message="Test message")
print send_message