From 2456c77e1e73f2363bdacf49a1f13290cd305d44 Mon Sep 17 00:00:00 2001 From: holger krekel <holger@merlinux.eu> Date: Mon, 13 Apr 2009 20:11:14 +0200 Subject: [PATCH] refining docs --HG-- branch : trunk --- doc/test/funcargs.txt | 26 ++++++++++++++++---------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/doc/test/funcargs.txt b/doc/test/funcargs.txt index b73765b0b..491937f23 100644 --- a/doc/test/funcargs.txt +++ b/doc/test/funcargs.txt @@ -2,6 +2,7 @@ **funcargs**: powerful and simple test setup ====================================================== + In version 1.0 py.test introduces a new mechanism for setting up test state for use by Python test functions. It is particularly useful for functional and integration testing but also for unit testing. @@ -15,6 +16,9 @@ Using the funcargs mechanism will increase readability and allow for easier refactoring of your application and its test suites. +.. contents:: Contents: + :depth: 2 + The basic funcarg request/provide mechanism ============================================= @@ -41,20 +45,20 @@ test module or on a local or global plugin. The method is recognized by the ``pytest_funcarg__`` prefix and is correlated to the argument name which follows this prefix. The passed in -"request" object allows to interact +``request`` object allows to interact with test configuration, test collection -and test running aspects. +and test running aspects. .. _`request object`: -request objects +funcarg request objects ------------------------ -Request objects give access to command line options, -the underlying python function and the test running -process. Each funcarg provider method receives a ``request`` object -that allows interaction with the test method and test -running process. Basic attributes of request objects: +Request objects encapsulate a request for a function argument from a +specific test function. Request objects provide access to command line +options, the underlying python function and allow interaction +with other providers and the test running process. +Basic attributes of request objects: ``request.argname``: name of the requested function argument @@ -136,7 +140,7 @@ test function living in a test file ``test_sample.py``: assert answer == 42 To run this test py.test looks up and calls a provider to obtain the -required "mysetup" function argument. The test function simply +required ``mysetup`` function argument. The test function simply interacts with the provided application specific setup. To provide the ``mysetup`` function argument we write down @@ -305,7 +309,7 @@ by putting this in our test class: According to the `lookup order`_ our class-specific provider will be invoked first. Here, we just ask our request object to -call the next provider and decoare its result. This simple +call the next provider and decorate its result. This simple mechanism allows us to stay ignorant of how/where the function argument is provided. @@ -317,6 +321,8 @@ that provide uniform access to the local filesystem. Questions and Answers ================================== +.. _`why pytest_pyfuncarg__ methods?`: + Why ``pytest_funcarg__*`` methods? ------------------------------------