توضیحاتی در مورد کتاب Python Testing with pytest: Simple, Rapid, Effective, and Scalable
نام کتاب : Python Testing with pytest: Simple, Rapid, Effective, and Scalable
ویرایش : 2
عنوان ترجمه شده به فارسی : تست پایتون با pytest: ساده، سریع، موثر و مقیاس پذیر
سری :
نویسندگان : Brian Okken
ناشر : Pragmatic Bookshelf
سال نشر : 2022
تعداد صفحات : 264
ISBN (شابک) : 1680508601 , 9781680508604
زبان کتاب : English
فرمت کتاب : pdf
حجم کتاب : 9 مگابایت
بعد از تکمیل فرایند پرداخت لینک دانلود کتاب ارائه خواهد شد. درصورت ثبت نام و ورود به حساب کاربری خود قادر خواهید بود لیست کتاب های خریداری شده را مشاهده فرمایید.
فهرست مطالب :
Cover
Table of Contents
Acknowledgments
Preface
Why pytest?
Learn pytest While Testing a Sample Application
How This Book Is Organized
What You Need to Know
Why a Second Edition?
Example Code and Online Resources
Part I—Primary Power
1. Getting Started with pytest
Installing pytest
Running pytest
Review
Exercises
What’s Next
2. Writing Test Functions
Installing the Sample Application
Writing Knowledge-Building Tests
Using assert Statements
Failing with pytest.fail() and Exceptions
Writing Assertion Helper Functions
Testing for Expected Exceptions
Structuring Test Functions
Grouping Tests with Classes
Running a Subset of Tests
Review
Exercises
What’s Next
3. pytest Fixtures
Getting Started with Fixtures
Using Fixtures for Setup and Teardown
Tracing Fixture Execution with –setup-show
Specifying Fixture Scope
Sharing Fixtures through conftest.py
Finding Where Fixtures Are Defined
Using Multiple Fixture Levels
Using Multiple Fixtures per Test or Fixture
Deciding Fixture Scope Dynamically
Using autouse for Fixtures That Always Get Used
Renaming Fixtures
Review
Exercises
What’s Next
4. Builtin Fixtures
Using tmp_path and tmp_path_factory
Using capsys
Using monkeypatch
Remaining Builtin Fixtures
Review
Exercises
What’s Next
5. Parametrization
Testing Without Parametrize
Parametrizing Functions
Parametrizing Fixtures
Parametrizing with pytest_generate_tests
Using Keywords to Select Test Cases
Review
Exercises
What’s Next
6. Markers
Using Builtin Markers
Skipping Tests with pytest.mark.skip
Skipping Tests Conditionally with pytest.mark.skipif
Expecting Tests to Fail with pytest.mark.xfail
Selecting Tests with Custom Markers
Marking Files, Classes, and Parameters
Using “and,” “or,” “not,” and Parentheses with Markers
Being Strict with Markers
Combining Markers with Fixtures
Listing Markers
Review
Exercises
What’s Next
Part II—Working with Projects
7. Strategy
Determining Test Scope
Considering Software Architecture
Evaluating the Features to Test
Creating Test Cases
Writing a Test Strategy
Review
Exercises
What’s Next
8. Configuration Files
Understanding pytest Configuration Files
Saving Settings and Flags in pytest.ini
Using tox.ini, pyproject.toml, or setup.cfg in place of pytest.ini
Determining a Root Directory and Config File
Sharing Local Fixtures and Hook Functions with conftest.py
Avoiding Test File Name Collision
Review
Exercises
What’s Next
9. Coverage
Using coverage.py with pytest-cov
Generating HTML Reports
Excluding Code from Coverage
Running Coverage on Tests
Running Coverage on a Directory
Running Coverage on a Single File
Review
Exercises
What’s Next
10. Mocking
Isolating the Command-Line Interface
Testing with Typer
Mocking an Attribute
Mocking a Class and Methods
Keeping Mock and Implementation in Sync with Autospec
Making Sure Functions Are Called Correctly
Creating Error Conditions
Testing at Multiple Layers to Avoid Mocking
Using Plugins to Assist Mocking
Review
Exercises
What’s Next
11. tox and Continuous Integration
What Is Continuous Integration?
Introducing tox
Setting Up tox
Running tox
Testing Multiple Python Versions
Running tox Environments in Parallel
Adding a Coverage Report to tox
Specifying a Minimum Coverage Level
Passing pytest Parameters Through tox
Running tox with GitHub Actions
Review
Exercises
What’s Next
12. Testing Scripts and Applications
Testing a Simple Python Script
Testing an Importable Python Script
Separating Code into src and tests Directories
Defining the Python Search Path
Testing requirements.txt-Based Applications
Review
Exercises
What’s Next
13. Debugging Test Failures
Adding a New Feature to the Cards Project
Installing Cards in Editable Mode
Debugging with pytest Flags
Re-Running Failed Tests
Debugging with pdb
Combining pdb and tox
Review
Exercises
What’s Next
Part III—Booster Rockets
14. Third-Party Plugins
Finding Plugins
Installing Plugins
Exploring the Diversity of pytest Plugins
Running Tests in Parallel
Randomizing Test Order
Review
Exercises
What’s Next
15. Building Plugins
Starting with a Cool Idea
Building a Local conftest Plugin
Creating an Installable Plugin
Testing Plugins with pytester
Testing Multiple Python and pytest Versions with tox
Publishing Plugins
Review
Exercises
What’s Next
16. Advanced Parametrization
Using Complex Values
Creating Custom Identifiers
Parametrizing with Dynamic Values
Using Multiple Parameters
Using Indirect Parametrization
Review
Exercises
What’s Next
A1. Virtual Environments
A2. pip
Index
– SYMBOLS –
– A –
– B –
– C –
– D –
– E –
– F –
– G –
– H –
– I –
– L –
– M –
– N –
– O –
– P –
– Q –
– R –
– S –
– T –
– U –
– V –
– W –
– X –
– Y –