基本信息
源码名称:Python 单元测试(Python Unit Test Automation.pdf)
源码大小:1.53M
文件格式:.pdf
开发语言:Python
更新时间:2021-01-07
   友情提示:(无需注册或充值,赞助后即可获取资源下载链接)

     嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300

本次赞助数额为: 2 元 
   源码介绍
Python 单元测试


Contents
About the Author .............................................................................. xi
About the Technical Reviewers ...................................................... xiii
Acknowledgments........................................................................... xv
Introduction................................................................................... xvii
■Chapter 1: Introduction to Python .................................................. 1
The History of Python .............................................................................. 1
Features of Python .................................................................................. 2
Simple.......................................................................................................................2
Easy to Learn............................................................................................................2
Easy to Read.............................................................................................................3
Easy to Maintain .......................................................................................................3
Open Source .............................................................................................................3
High-Level Language................................................................................................3
Portable ....................................................................................................................3
Interpreted................................................................................................................3
Object-Oriented ........................................................................................................4
Extensible .................................................................................................................4
Extensive Libraries ...................................................................................................4
Robust ......................................................................................................................4
Rapid Prototyping .....................................................................................................4
Memory Management ..............................................................................................5
Powerful ...................................................................................................................5
Community Support..................................................................................................5
www.allitebooks.com
■ CONTENTS
vi
Python 3 .................................................................................................. 5
The Differences Between Python 2 and Python 3..................................................... 5
Why Use Python 3.....................................................................................................6
Installation of Python 3............................................................................ 7
Installation on Linux .................................................................................................7
Installation on MacOS X............................................................................................8
Installation on Windows............................................................................................8
Running a Python Program and Python Modes..................................... 11
Interactive Mode.....................................................................................................11
Normal Mode ..........................................................................................................12
IDEs for Python...................................................................................... 12
IDLE ........................................................................................................................13
The PyDev Plugin for Eclipse ..................................................................................14
Geany......................................................................................................................14
PyCharm.................................................................................................................15
Conclusion............................................................................................. 17
■Chapter 2: Getting Started............................................................ 19
A Brief Introduction to Software Testing Concepts................................ 19
Unit Testing.............................................................................................................19
Test Automation......................................................................................................19
Using Docstrings ................................................................................... 20
Example of a Docstring in Python...........................................................................21
A Brief Introduction to doctest .............................................................. 24
Failing Tests............................................................................................................26
Separate Test File ...................................................................................................27
Advantages and Disadvantages of doctest............................................................. 28
Conclusion............................................................................................. 29
www.allitebooks.com
■ CONTENTS
vii
■Chapter 3: Unittest........................................................................ 31
Introduction to xUnit.............................................................................. 31
Using Unittest........................................................................................ 32
Order of Execution of the Test Methods.................................................................. 34
Verbosity Control ....................................................................................................35
Multiple Test Classes Within the Same Test File/Module........................................ 36
Test Fixtures ...........................................................................................................37
Running Without unittest.main().............................................................................39
Controlling the Granularity of Test Execution.......................................................... 40
Listing All the Command-Line Options and Help ....................................................42
Important Command-Line Options..........................................................................43
Creating a Test Package .........................................................................................46
Organizing the Code ...............................................................................................48
Test Discovery ....................................................................................... 53
Coding Conventions for unittest............................................................ 54
Assertions in unittest ............................................................................ 55
Other Useful Methods............................................................................ 56
Failing a Test ......................................................................................... 57
Exceptions in the Test Case ....................................................................................59
assertRaises().........................................................................................................60
Conclusion............................................................................................. 63
■Chapter 4: nose and nose2........................................................... 65
Introduction to nose .............................................................................. 65
Installing nose on Linux OS ....................................................................................65
Installing nose on MacOS and Windows.................................................................66
Verifying the Installation.........................................................................................66
Getting Started with nose.......................................................................................66
A Simple nose Test Case.........................................................................................66
www.allitebooks.com
■ CONTENTS
viii
Running the Test Module with nosetests................................................................67
Getting Help............................................................................................................68
Organizing the test code.........................................................................................68
Test Discovery ........................................................................................................69
Fixtures for Classes, Modules, and Methods......................................... 70
Fixtures for Functions.............................................................................................72
Fixtures for Packages.............................................................................................74
Alternate Names of the nose Fixtures .................................................................... 75
assert_equals().......................................................................................................75
Testing Tools.......................................................................................... 77
ok_ and eq_............................................................................................................77
The @raises() Decorator.........................................................................................78
The @timed() decorator..........................................................................................79
Report Generation ................................................................................. 80
Creating an XML Report..........................................................................................80
Creating an HTML Report........................................................................................ 81
Creating Color Output in the Console......................................................................82
Running unittest Tests from nose.......................................................... 83
Advantages of nose over unittest.......................................................... 83
Disadvantages of nose .......................................................................... 84
Using Nose 2 ......................................................................................... 84
Conclusion............................................................................................. 85
■Chapter 5: pytest.......................................................................... 87
Introduction to pytest ............................................................................ 87
Simple Test .............................................................................................................88
Running Tests with the py.test Command............................................................... 89
Test Class and Test Package in pytest.................................................................... 90
Test Discovery in pytest..........................................................................................91
www.allitebooks.com
■ CONTENTS
ix
xUnit-Style Fixtures ................................................................................................91
pytest Support for unittest and nose ...................................................................... 93
Introduction to pytest Fixtures .............................................................. 93
Scope of pytest Fixtures .........................................................................................96
pytest.raises().........................................................................................................97
Important pytest Command-Line Options ............................................. 98
Help ........................................................................................................................98
Stopping After the First (or N) Failures ...................................................................98
Profiling Test Execution Duration............................................................................99
JUnit-Style Logs .....................................................................................................99
Generating a Plain Result .......................................................................................99
Sending a Test Report to Online pastebin Service.................................................. 99
Conclusion............................................................................................. 99
■Chapter 6: Tips and Tricks.......................................................... 101
Coding and Filenaming Conventions for Easier Test Discovery........... 101
Test-Driven Development with pytest ................................................. 102
Conclusion........................................................................................... 108
Index.............................................................................................. 109