소스 검색

Extended test runner to generate coverage stats

master
David Winterbottom 13 년 전
부모
커밋
2089b12408
4개의 변경된 파일22개의 추가작업 그리고 5개의 파일을 삭제
  1. 2
    0
      .gitignore
  2. 18
    3
      run_tests.py
  3. 1
    1
      sandbox/templates/layout.html
  4. 1
    1
      tests/templates/layout.html

+ 2
- 0
.gitignore 파일 보기

28
 sandbox/assets/*
28
 sandbox/assets/*
29
 .idea
29
 .idea
30
 TODO
30
 TODO
31
+.coverage
32
+htmlcov/*

+ 18
- 3
run_tests.py 파일 보기

3
 import os
3
 import os
4
 import logging
4
 import logging
5
 from optparse import OptionParser
5
 from optparse import OptionParser
6
+from coverage import coverage
6
 
7
 
7
 import tests.config
8
 import tests.config
8
 
9
 
15
     test_runner = DjangoTestSuiteRunner(verbosity=1)
16
     test_runner = DjangoTestSuiteRunner(verbosity=1)
16
     if not test_args:
17
     if not test_args:
17
         test_args = ['oscar']
18
         test_args = ['oscar']
18
-    failures = test_runner.run_tests(test_args)
19
-    sys.exit(failures)
19
+    num_failures = test_runner.run_tests(test_args)
20
+    if num_failures:
21
+        sys.exit(num_failures)
20
 
22
 
21
 if __name__ == '__main__':
23
 if __name__ == '__main__':
22
     parser = OptionParser()
24
     parser = OptionParser()
25
+    parser.add_option('-c', '--coverage', dest='use_coverage', default=False,
26
+                      action='store_true', help="Generate coverage report")
23
     (options, args) = parser.parse_args()
27
     (options, args) = parser.parse_args()
24
-    run_tests(*args)
28
+
29
+    if options.use_coverage:
30
+        print 'Running tests with coverage'
31
+        c = coverage(source=['oscar'])
32
+        c.start()
33
+        run_tests(*args)
34
+        c.stop()
35
+        print 'Generate HTML reports'
36
+        c.html_report()
37
+    else:
38
+        print 'Running tests'
39
+        run_tests(*args)

+ 1
- 1
sandbox/templates/layout.html 파일 보기

1
 {% extends "base.html" %}
1
 {% extends "base.html" %}
2
 
2
 
3
 {% load currency_filters %}
3
 {% load currency_filters %}
4
-{% load promotions %}
4
+{% load promotion_tags %}
5
 {% load category_tags %}
5
 {% load category_tags %}
6
 
6
 
7
 {% block layout %}
7
 {% block layout %}

+ 1
- 1
tests/templates/layout.html 파일 보기

1
 {% extends "base.html" %}
1
 {% extends "base.html" %}
2
 
2
 
3
 {% load currency_filters %}
3
 {% load currency_filters %}
4
-{% load promotions %}
4
+{% load promotion_tags %}
5
 {% load category_tags %}
5
 {% load category_tags %}
6
 
6
 
7
 {% block layout %}
7
 {% block layout %}

Loading…
취소
저장