Fixture Functions

Python 3: Automating Your Job Tasks Superhero Level: Automate Unit Testing with Python 3
4 minutes
Share the link to this page
You need to have access to the item to view this lesson.
One-time Fee
List Price:  $139.99
You save:  $40
List Price:  €129.06
You save:  €36.87
List Price:  £110.01
You save:  £31.43
List Price:  CA$191.35
You save:  CA$54.67
List Price:  A$210.84
You save:  A$60.24
List Price:  S$188.90
You save:  S$53.97
List Price:  HK$1,093.06
You save:  HK$312.32
CHF 91.36
List Price:  CHF 127.90
You save:  CHF 36.54
NOK kr1,064.83
List Price:  NOK kr1,490.80
You save:  NOK kr425.97
DKK kr687.94
List Price:  DKK kr963.14
You save:  DKK kr275.20
List Price:  NZ$228.40
You save:  NZ$65.26
List Price:  د.إ514.18
You save:  د.إ146.92
List Price:  ৳16,418.13
You save:  ৳4,691.23
List Price:  ₹11,653.68
You save:  ₹3,329.86
List Price:  RM658.58
You save:  RM188.18
List Price:  ₦202,635.52
You save:  ₦57,900
List Price:  ₨39,010.23
You save:  ₨11,146.57
List Price:  ฿5,113.97
You save:  ฿1,461.24
List Price:  ₺4,509.83
You save:  ₺1,288.61
List Price:  B$721.46
You save:  B$206.14
List Price:  R2,573.45
You save:  R735.32
List Price:  Лв252.47
You save:  Лв72.14
List Price:  ₩190,865.12
You save:  ₩54,536.78
List Price:  ₪514.04
You save:  ₪146.88
List Price:  ₱8,144.28
You save:  ₱2,327.10
List Price:  ¥21,931.91
You save:  ¥6,266.71
List Price:  MX$2,330.37
You save:  MX$665.86
List Price:  QR510.97
You save:  QR146
List Price:  P1,893.83
You save:  P541.13
List Price:  KSh18,548.67
You save:  KSh5,300
List Price:  E£6,593.52
You save:  E£1,884
List Price:  ብር8,051.60
You save:  ብር2,300.62
List Price:  Kz118,917.63
You save:  Kz33,978.89
List Price:  CLP$125,807.61
You save:  CLP$35,947.60
List Price:  CN¥995.41
You save:  CN¥284.42
List Price:  RD$8,224.32
You save:  RD$2,349.97
List Price:  DA18,834.81
You save:  DA5,381.76
List Price:  FJ$317.23
You save:  FJ$90.64
List Price:  Q1,088.99
You save:  Q311.16
List Price:  GY$29,321.70
You save:  GY$8,378.22
ISK kr13,838.61
List Price:  ISK kr19,374.61
You save:  ISK kr5,536
List Price:  DH1,387.67
You save:  DH396.50
List Price:  L2,475.08
You save:  L707.21
List Price:  ден7,958.33
You save:  ден2,273.97
List Price:  MOP$1,126.84
You save:  MOP$321.97
List Price:  N$2,547.09
You save:  N$727.79
List Price:  C$5,158.32
You save:  C$1,473.91
List Price:  रु18,669.25
You save:  रु5,334.45
List Price:  S/523.33
You save:  S/149.53
List Price:  K544.66
You save:  K155.63
List Price:  SAR525.05
You save:  SAR150.02
List Price:  ZK3,654.34
You save:  ZK1,044.17
List Price:  L642.19
You save:  L183.49
List Price:  Kč3,189.28
You save:  Kč911.28
List Price:  Ft49,959.85
You save:  Ft14,275.26
SEK kr1,068.91
List Price:  SEK kr1,496.52
You save:  SEK kr427.60
List Price:  ARS$124,588.23
You save:  ARS$35,599.18
List Price:  Bs968.45
You save:  Bs276.72
List Price:  COP$533,464.74
You save:  COP$152,429.38
List Price:  ₡71,860.04
You save:  ₡20,532.90
List Price:  L3,463.59
You save:  L989.66
List Price:  ₲1,054,446.66
You save:  ₲301,291.99
List Price:  $U5,362.45
You save:  $U1,532.23
List Price:  zł550.82
You save:  zł157.39
Already have an account? Log In


Welcome back. In this lecture we are going to discuss the concept of fixtures. According to pi test documentation page. The purpose of test fixtures is to provide a fixed baseline upon which tests can be reliably and repeatedly executed. And if we scroll down below, fixtures allow test functions to easily receive and work against specific pre initialized application objects without having to care about import set up clean up details. So in short, you can consider fixtures as being ways of setting the prerequisites and building an initial setup for all your tests.

Fixture functions are registered by marking them with at pi test that fixture and that's introducing a concept we've discussed earlier in the course decorators. We are basically decorating this function right here. For example, which becomes the so called fixture function. Now let's see the code for this lecture. This is the file right here x and y dot p y. This file is saved inside a new folder called fixtures on my D drive.

By the way, as with all the other files in this section, you can download the code from the notebook following this video. So let's open up this file in Notepad plus plus. First of all, we need to import the necessary modules for this application. Nothing new here since we've already used these modules throughout this section up until this point, next we have two functions. As you can see right here, the fixture function and the test function down below. The fixture function is called x y func.

And as you can notice, it's been decorated using the add pi test dot fixture decorator in order to specify that this is the fixture to use for any upcoming tests. Unlike in the previous video, notice two things here. First, the function to be tested and the test function are both inside the same file this time. Secondly, notice that the fixture function contains most of the functionality, the loading of the Excel file as a panda's data frame, the definition of the x value and also the simulation of the users input using unit test dot mock and the final value of 10. Finally, the same mathematical expression is performed using the values of x and y. So this function contains all the necessary prerequisites that the test function needs in order to evaluate the result against a given value, which is again 894.

Next, the test function called test underscore result takes the fixture function as a parameter, as you can see right here, rounds up the results returned by the x, y function to the nearest integer and finally used Is the assert statement to compare the two values. As you can notice the use of fixture functions enhances the modularity of the code, and also reduces the size of the test functions by setting the initial conditions and providing the necessary data that the tests need in order to be properly executed. Instead of the current contents of our x, y func function. Imagine that maybe you can initialize the connection to a remote database server, or load the data scraped from a website as prerequisites for your test with. Finally, let's open up the windows command line. And let's run our file or test and see if everything runs properly using the new concept of fixtures being implemented in our code.

So I'm going to move over to the D drive. And now CD, pictures, sorry, pictures, Enter. And now by test dash, dash, disable that Warning to suppress any unwanted warning messages. And finally, the name of our file x and y dot p y enter. So as you can see, our test has been performed and the result is the one we expected, which is best known as the green dot. Now let's move on to the next lecture and talk more about fixtures and add more complexity to our test setup.

So see you in the next one.

Sign Up


Share with friends, get 20% off
Invite your friends to LearnDesk learning marketplace. For each purchase they make, you get 20% off (upto $10) on your next purchase.