这是我第一次尝试编写测试,我猜测我自己编写测试本身就明显搞砸了。
这是我的测试:
from django.test import TestCase
from accounts.forms import UserReview
class MyTests(TestCase):
def test_forms(self):
form_data = {'headline': 'test', 'body_text': 'description of item Im selling', 'author: ben'}
form = SellForm(data=form_data)
self.assertEqual(form.is_valid(), True)
我收到以下错误:
ImportError: Failed to import test module: accounts.tests
Traceback (most recent call last):
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/unittest/loader.py", line 254, in _find_tests
module = self._get_module_from_name(name)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/unittest/loader.py", line 232, in _get_module_from_name
__import__(name)
File "/Users/benjamino/Desktop/myproject/myproject/accounts/tests.py", line 8
form_data = {'headline': 'test', 'body_text': 'description of item Im selling', 'author: ben'}
^
SyntaxError: invalid syntax
----------------------------------------------------------------------
Ran 1 test in 0.000s
FAILED (errors=1)
Destroying test database for alias 'default'...
为什么accounts.tests无法导入?上面的代码位于我的accounts / tests.py。
中答案 0 :(得分:0)
这是一个简单的语法错误,正如消息告诉您的那样。您在dict的最后一个元素中引用错误:'author: ben'
应为'author': 'ben'
答案 1 :(得分:0)
错误的位置是明确的:
File "/Users/benjamino/Desktop/myproject/myproject/accounts/tests.py", line 8 form_data = {'headline': 'test', 'body_text': 'description of item Im selling', 'author: ben'} ^ SyntaxError: invalid syntax
更好地了解form_data
:{'标题':'测试','body_text':'项目描述我卖','作者:本'}(你在字典中包含了一个字符串而不是一个名字:值对
答案 2 :(得分:0)
从异常本身可以清楚地看出错误在你的语法中。表单数据格式应为{name:value},但在您的情况下,{' string:value'}如果这不能解决您的问题,也许这可以帮助您 Link