做一个简单的小实例:
目录结构如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
demo1.py
class MyClass():
def __init__( self ,x,y):
self .x = x
self .y = y
def add( self ):
return self .x + self .y
def sub( self ):
return self .x - self .y
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
import unittest
from unittset_demo.demo1 import MyClass
class MyclassTest(unittest.TestCase):
def setUp( self ) - > None :
'''
测试之前的准备工作
:return:
'''
self .clac = MyClass( 4 , 3 )
def tearDown( self ) - > None :
'''
测试之后的收尾
如关闭数据库
:return:
'''
pass
def test_add( self ):
ret = self .clac.add()
self .assertEqual(ret, 9 )
def test_sub( self ):
ret = self .clac.sub()
self .assertEqual(ret, - 1 )
if __name__ = = '__main__' :
suite = unittest.TestSuite()
suite.addTest(MyclassTest( 'test_add' ))
suite.addTest(MyclassTest( 'test_sub' ))
runner = unittest.TextTestRunner()
runner.run(suite)
|
setUp就是帮我们做测试前的准备工作,比如实例化等,
tearDown可以帮我们关闭数据库等收尾操作,
一般测试方法必须以test_开头,里面可以写我们需要测试的业务逻辑,同时指定self.assertEqual()将我们的结果和运行的实际结果进行比对。
suite就是我们的测试集,之后添加测试用例,用runner实例化运行。
运行结果:
如果我们将预计的结果写错,
1
2
3
4
5
6
7
|
def test_add( self ):
ret = self .clac.add()
self .assertEqual(ret, 2 )
def test_sub( self ):
ret = self .clac.sub()
self .assertEqual(ret, 3 )
|
运行结果:
同时我们还可以在django的test文件中测试自己的用例:
1
2
3
4
5
6
7
|
class StudentTest(TestCase):
def setUp( self );
Student.objects.create(name = 'jack' ,age = 13 )
def test_student_create( self ):
obj = Student.objects.get(name = 'jack' )
self .assertEqual(obj.age, 18 )
|
测试是使用的模板是否正确,在terminal中输入:python manage.py test 即可测试
1
2
3
4
5
|
class HomeTest(TestCase):
def test_home_page_renders_home_template( self ):
response = self .client.get( '/home/' ) # 模拟浏览器
self .assertEqual(response.status_code, 200 )
self .assertTemplateUsed(response, 'home.html' )
|
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。
原文链接:https://www.cnblogs.com/jimmyhe/p/10852764.html