In this lesson you’ll set up a new Python project, which is used to teach you TDD. Therefore, dependecies are installed and the project structure is generated.
Setting Up a New Python TDD Project
One of the first things we should do is install any dependencies. Because we’re using
pytest, we should go ahead and install that. I’m going to be doing that using
pip install pytest. After that’s complete, we have all our dependencies. Next, let’s create our files.
Because we’re going to be creating a data structure, or a type of data structure, I’m going to call my overall project
ds for data structure.
I’m going to say
mkdir (make directory)
ds, for data structure. Then I’m just going to
cd into that directory.
And there’s no files in here. Now, I’m going to create some subdirectories. I’m going to create another subdirectory called
ds and a directory called
So now I have a directory called
ds and a directory called
tests. Now, the directory called
tests is going to house our test files, and the directory called
ds is going to contain the stack data structure.
So, inside of
ds/ what I’m going to do is I’m just going to say
and I’m going to say
So, those two files—the
stack.py is where we’re going to be implementing our stack data structure, and this
__init__.py—that basically creates a package inside that directory.
ds/ directory basically becomes a package with this
__init__.py. Okay. And then I need a file to actually run our tests against.
Our files are to go in the
tests/ directory, so I’m going to say
touch tests/—and I’m going to call this file
test_stack.py. Now, when you’re using
pytest, any file that you want to test has to be prefixed with the word
So if we were like, for example, testing a queue, we would say
test_queue. If we were testing a binary tree, we would say
test_binary_tree. So here’s all the files we need.
Now, there’s a Unix command called
tree—I can type this in and basically it lets you see the files that we created in a tree format. So, this is the package right here—the data structure package—that contains the
stack file, and then here’s our test. Okay? And so now it’s ready to start coding, and so I’m going to open up my code editor.
And you can see, here is
DS/ and here’s the subdirectory
ds/, for data structure. And here’s my
stack. And then under
tests/, here’s this.
02:55 Now, what I like to do when I’m doing test driven development, I like to split these files side-by-side so that as you’re writing your tests you can kind of see the implementation side-by-side. Okay. So with that, let’s go ahead and get started.
Become a Member to join the conversation.
tsathyanarayanan on Nov. 26, 2019
Thanks for the video, it is really good.