Ask coding questions

← Back to all posts
Running a file other than the main file for Unit Testing
LeonGrin (16)

I created a test_main.py file to unit test the main.py file. But every time I click "Run", it only runs the main.py file. Is it possible to run a file other than the main file?

Commentshotnewtop
Aersum (3)

I solved this problem like this:
Just use python os.system to get access to console commands

# main.py
import os
os.system('python3 -m pytest -v test_api.py')

In general case
os.system('python3 -m <name_of_file>.py')

mat1 (2603)

You could import test_main at the beginning of main.py to run test_main.py.
Please upvote this comment if it was helpful or useful in any way

LeonGrin (16)

@mat1 This import in the main file allows to run code of the test_main file when you call it on the main file. But what I want to do is to run the test_main file without writting calling it's code on the main file.

timmy_i_chen (988)

@LeonGrin Right now all repls run the main file to start; there's no way around that. :(

LeonGrin (16)

@timmy_i_chen thank you. Is it possible for 2 repls to interact with each other? Maybe this could be a workaround.

LeonGrin (16)

Hi @timmy_i_chen
I am trying to run a unit testing code from the file test_main.py, as you can see here: https://repl.it/@LeonGrin/Unit-Testing-in-Python-with-Replit
This repl is very simple. I am trying to figure out a way to run unit testing on Repl.it without having to insert all the unit testing code on the main.py file. Do you know how can I do this?
I feel that it might exist a very simple solution to my problem that I am not seeing.

fandressouza (2)

In case someone is looking to simply run a file use:

#main.py
import os
os.system('python3 <filename>.py')
m201713 (0)

@fandressouza
how did you do that?
if i click the run icon, it show me like this

sh: 1: cannot open Ex01: No such file

fandressouza (2)

@m201713 make sure you remove "<>", if your file is called second.py you must write the following:

#main.py
import os
os.system('python3 second.py')