Skip to content

Commit 1ab325b

Browse files
author
zmrenwu
committed
Step31: measure test coverage
1 parent 45e3c99 commit 1ab325b

File tree

6 files changed

+66
-16
lines changed

6 files changed

+66
-16
lines changed

.coveragerc

+15
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
[run]
2+
branch = True
3+
source = .
4+
omit =
5+
_credentials.py
6+
manage.py
7+
blogproject/settings/*
8+
fabfile.py
9+
scripts/fake.py
10+
*/migrations/*
11+
blogproject\wsgi.py
12+
13+
[report]
14+
show_missing = True
15+
skip_covered = True

Pipfile

+1
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ verify_ssl = true
55

66
[dev-packages]
77
fabric = "*"
8+
coverage = "*"
89

910
[packages]
1011
django = "~=2.2"

Pipfile.lock

+41-4
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

README.md

+1
Original file line numberDiff line numberDiff line change
@@ -151,6 +151,7 @@ tutorial 分支为项目的主分支,每一篇教程的代码都和历史提
151151
28. [Django Haystack 全文检索与关键词高亮](https://www.zmrenwu.com/courses/hellodjango-blog-tutorial/materials/86/)
152152
29. [单元测试:测试 blog 应用](https://www.zmrenwu.com/courses/hellodjango-blog-tutorial/materials/87/)
153153
30. [单元测试:测试评论应用](https://www.zmrenwu.com/courses/hellodjango-blog-tutorial/materials/88/)
154+
31. [Coverage.py 统计测试覆盖率](https://www.zmrenwu.com/courses/hellodjango-blog-tutorial/materials/89/)
154155

155156
## 公众号
156157
<p align="center">

blog/tests/test_utils.py

+8
Original file line numberDiff line numberDiff line change
@@ -12,3 +12,11 @@ def test_highlight(self):
1212
highlighter = Highlighter("关键词高亮")
1313
expected = '这是一个比较长的标题,用于测试<span class="highlighted">关键词高亮</span>但不被截断。'
1414
self.assertEqual(highlighter.highlight(document), expected)
15+
16+
highlighter = Highlighter("标题")
17+
document = "这是一个长度超过 200 的标题,应该被截断。" + "HelloDjangoTutorial" * 200
18+
self.assertTrue(
19+
highlighter.highlight(document).startswith(
20+
'...<span class="highlighted">标题</span>,应该被截断。'
21+
)
22+
)

blog/views.py

-12
Original file line numberDiff line numberDiff line change
@@ -58,15 +58,3 @@ def get(self, request, *args, **kwargs):
5858

5959
# 视图必须返回一个 HttpResponse 对象
6060
return response
61-
62-
63-
def search(request):
64-
q = request.GET.get("q")
65-
66-
if not q:
67-
error_msg = "请输入搜索关键词"
68-
messages.add_message(request, messages.ERROR, error_msg, extra_tags="danger")
69-
return redirect("blog:index")
70-
71-
post_list = Post.objects.filter(Q(title__icontains=q) | Q(body__icontains=q))
72-
return render(request, "blog/index.html", {"post_list": post_list})

0 commit comments

Comments
 (0)