Running a file other than the main file for Unit Testing
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?
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')
@Aersum , thanks that still works. Sample for others to refer https://replit.com/join/fredthut-abhijeetbhanjadeo
In case someone is looking to simply run a file use:
#main.py
import os
os.system('python3 <filename>.py')
@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
@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')
@fandressouza oh!!!
thank you
@fandressouza Thank you.... This solved my requirement...
use
exec(open("filename.py").read())
in console
Hi, I want to do the same thing for Java with Junit to seperate the Junit test running logic from main to seperate file. Could you please let me know the best approach to do it... This is for Java
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
@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.
@LeonGrin Right now all repls run the main file to start; there's no way around that. :(
@timmy_i_chen thank you. Is it possible for 2 repls to interact with each other? Maybe this could be a workaround.
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.