python-unittest(6)

在测试模块中定义测试套件

Defining test suites inside the test module.

Each test module can provide one or more methods that define a different test suite. One
method can exercise all the tests in a given module; another method can define a particular
subset.

1. Create a new file called recipe6.py in which to put our code for this recipe.

2. Pick a class to test. In this case, we will use our Roman numeral converter.

3. Create a test class using the same name as the class under test with Test appended
to the end.

4. Write a series of test methods, including a setUp method that creates a new
instance of the RomanNumeralConverter for each test method.

5. Create some methods in the recipe's module (but not in the test case) that define
different test suites.

6. Create a runner that will iterate over each of these test suites and run them through
unittest's TextTestRunner.

7. Run the combination of test suites, and see the results.

测试代码:

Code

 

输出结果:

Running test suite 'high_and_low'
test_parsing_millenia (__main__.RomanNumeralConverterTest) ... ok
test_parsing_one (__main__.RomanNumeralConverterTest) ... ok

----------------------------------------------------------------------
Ran 2 tests in 0.000s

OK
Running test suite 'combos'
test_combo1 (__main__.RomanNumeralConverterTest) ... ok
test_combo2 (__main__.RomanNumeralConverterTest) ... ok
test_combo3 (__main__.RomanNumeralConverterTest) ... ok

----------------------------------------------------------------------
Ran 3 tests in 0.000s

OK
Running test suite 'all'
test_combo1 (__main__.RomanNumeralConverterTest) ... ok
test_combo2 (__main__.RomanNumeralConverterTest) ... ok
test_combo3 (__main__.RomanNumeralConverterTest) ... ok
test_empty_roman_numeral (__main__.RomanNumeralConverterTest) ... ok
test_no_roman_numeral (__main__.RomanNumeralConverterTest) ... ok
test_parsing_century (__main__.RomanNumeralConverterTest) ... ok
test_parsing_decade (__main__.RomanNumeralConverterTest) ... ok
test_parsing_half_century (__main__.RomanNumeralConverterTest) ... ok
test_parsing_half_decade (__main__.RomanNumeralConverterTest) ... ok
test_parsing_millenia (__main__.RomanNumeralConverterTest) ... ok
test_parsing_one (__main__.RomanNumeralConverterTest) ... ok

----------------------------------------------------------------------
Ran 11 tests in 0.001s

OK

posted @ 2012-06-24 19:11  绿色的麦田  阅读(288)  评论(0编辑  收藏  举报