有一个问题,当我测试使用单元测试模块我的模型,这是当方法,只是一个字符串从“打印”来到我的成功用户的迭代。结果没有显示了什么也没有显示。什么我是洞低于:为什么django不使用unittest显示测试结果?
1,models.py中
class UserManager(models.Manager):
def hah(self):
return None
class User(models.Model):
id = models.IntegerField(primary_key=True)
email = models.CharField(unique=True, max_length=50)
password = models.CharField(max_length=50)
logintime = models.IntegerField(default='')
registertime = models.IntegerField()
modifytime = models.IntegerField()
loginip = models.CharField(max_length=60)
islock = models.IntegerField()
isavtive = models.IntegerField()
activecode = models.CharField(max_length=45)
role = models.CharField(max_length=1)
objects = UserManager()
class Meta:
db_table = 'user'
2,serializers.py
class UserSerializer(serializers.ModelSerializer):
class Meta:
model = User
fields = ('id','email','password','loginip')
3,tests.py
class UserModelTest(unittest.TestCase):
def get_user(self):
users = User.objects.all()
userserializer = UserSerializer(users,many=True)
print(userserializer.data)
print(users)
for row in users:
print(row.email)
print("this is user model test")
当我跑python3.4 ./manage.py test user.tests.UserModelTest.get_user
,结果是:
Creating test database for alias 'default'...
[]
[]
this is user model test
.
----------------------------------------------------------------------
Ran 1 test in 0.001s
OK
Destroying test database for alias 'default'...
我错过了什么或约单元测试有什么误会?而且我注意到有人有同样的问题,他们建议做的是添加-- -s
选项,但不适用于我。和任何解决方案?提前致谢!
没有单元测试查找以“TEST_”开头的方法?如果将名称更改为test_get_user,会发生什么情况? – devinformatics 2015-04-02 10:37:16
是的,它的确如此,但是即使没有前缀“test_”,它也可以被指定为完整路径,并且我尝试了你的方法,但是不行! – 2015-04-02 10:46:27
你有一个setUp方法实例化测试数据库中的对象吗? – devinformatics 2015-04-02 10:50:57