Training, Open Source Programming Languages

This is page http://www.wellho.net/mouth/4618_Pyt ... world.html

Our email: info@wellho.net • Phone: 01144 1225 708225

 
For 2023 (and 2024 ...) - we are now fully retired from IT training.
We have made many, many friends over 25 years of teaching about Python, Tcl, Perl, PHP, Lua, Java, C and C++ - and MySQL, Linux and Solaris/SunOS too. Our training notes are now very much out of date, but due to upward compatability most of our examples remain operational and even relevant ad you are welcome to make us if them "as seen" and at your own risk.

Lisa and I (Graham) now live in what was our training centre in Melksham - happy to meet with former delegates here - but do check ahead before coming round. We are far from inactive - rather, enjoying the times that we are retired but still healthy enough in mind and body to be active!

I am also active in many other area and still look after a lot of web sites - you can find an index ((here))
Pytest - second example beyond hello world

Moving on from my hello Pytest World example, lets add some more tests and put the code we're testing into a separate file. The test code is [here] and - if working in a TDD (Test Driven Developent) mode it will be written first - forming the specificiation for the class you're writing.

I have brought the code to be tested in with:

  from mathstuff import *

Having carefully thought through whether "from" to bring the code into my current namespace or "import" to keep it separate, I've decided (in order to keep the training examples a bit shorter to use import. For a small real-world setup this might be a good decision, for a large and complex setup with lots of classes to be tested, from would be best. The file mathstuff.py is [here]

In addition to the "hello world" example, I've added ...

1. Further tests ... identified by being methods with names starting test_

2. A test which starts with the name another_; in order for this to be picked up by the park of pytest that seeks out the tests, I've provided a configuration file, setup.cfg which may be found [here], as follows:

  [pytest]
  python_functions = another_* test_*


3. I have decorated one of the tests to indicate that I know it will fail

  @pytest.mark.xfail
  def test_add_003():
    assert addition(10,15) == 26


4. I have provided a setup routine to be run before each and every test (but better ways of doing this are shown in later examples):

  def setup_function(summat):
    print("The world is round {}".format(summat))


5. I have run my tests with the -s option so that any print statements within are run / displayed (default is that stdout is supressed)

  python -m pytest -s test_mathfuncs.py

Full code including sample output from a run ... [here]
(written 2016-01-08)

 
Associated topics are indexed as below, or enter http://melksh.am/nnnn for individual articles
Y212 - Python - Code testing, patterns, profiles and optimisation.
  [235] Preparation for a day's work - (2005-03-04)
  [1140] Python GTK - Widget, Packing, Event and Feedback example - (2007-04-09)
  [1146] __new__ v __init__ - python constructor alternatives? - (2007-04-14)
  [1148] Python decorators - wrapping a method call in extra code - (2007-04-15)
  [1555] Advanced Python, Perl, PHP and Tcl training courses / classes - (2008-02-25)
  [2123] Using Python with OpenOffice - (2009-04-09)
  [2616] Defining a static method - Java, Python and Ruby - (2010-02-01)
  [3441] Pressing ^C in a Python program. Also Progress Bar. - (2011-09-15)
  [3442] A demonstration of how many Python facilities work together - (2011-09-16)
  [3464] Passing optional and named parameters to python methods - (2011-10-04)
  [3478] Testing your Python classes with the unittest package - how to - (2011-10-14)
  [3658] Using Make for a distribution - (2012-03-17)
  [4090] Test Driven Development in Python - Customer Comes First - (2013-05-16)
  [4326] Learning to program - comments, documentation and test code - (2014-11-22)
  [4344] Python base and inherited classes, test harness and unit testing - new examples - (2014-12-07)
  [4446] Combining tests into suites, and suites into bigger suites - Python and unittest - (2015-03-01)
  [4470] Testing in Python 3 - unittest, doctest and __name__ == __main__ too. - (2015-04-21)
  [4538] Flask and unittest - hello web app test world - (2015-10-15)
  [4540] Unittest of a Flask application including forms - (2015-10-15)
  [4542] The principle of mocking - and the Python Mock package - (2015-10-17)
  [4617] Pytest - starting example - (2016-01-07)
  [4716] Profiling your Python program - (2016-11-01)


Back to
Pytest - starting example
Previous and next
or
Horse's mouth home
Forward to
Buses - not about the buses, but about the people who use the buses
Some other Articles
Frosty morning, beauty of Wiltshire
The power of scripting
Perl 6 - a Practical Extraction and Reporting example!
Buses - not about the buses, but about the people who use the buses
Pytest - second example beyond hello world
Still teaching Tcl in 2016?
Questions for First (West of England)
PC Plod - alive and scaremongering in Wiltshire?
Our best hotel customers help us ... to help them ... be our best customers.
4759 posts, page by page
Link to page ... 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96 at 50 posts per page


This is a page archived from The Horse's Mouth at http://www.wellho.net/horse/ - the diary and writings of Graham Ellis. Every attempt was made to provide current information at the time the page was written, but things do move forward in our business - new software releases, price changes, new techniques. Please check back via our main site for current courses, prices, versions, etc - any mention of a price in "The Horse's Mouth" cannot be taken as an offer to supply at that price.

Link to Ezine home page (for reading).
Link to Blogging home page (to add comments).

© WELL HOUSE CONSULTANTS LTD., 2024: 48 Spa Road • Melksham, Wiltshire • United Kingdom • SN12 7NY
PH: 01144 1225 708225 • EMAIL: info@wellho.net • WEB: http://www.wellho.net • SKYPE: wellho

PAGE: http://www.wellho.net/mouth/4618_Pyt ... world.html • PAGE BUILT: Sun Oct 11 16:07:41 2020 • BUILD SYSTEM: JelliaJamb