tuttle
tuttle copied to clipboard
Test: Integration test for successful app start
First attempt: This is not yet working since the app process does not terminate.
def test_app_starts_and_quits():
# Start the app process
app_process = subprocess.Popen(["python", "app/app.py"])
# Wait for a few seconds to let the app start
time.sleep(3)
# Verify the process is still running
assert app_process.poll() is None
# Terminate the app process
app_process.terminate()
# Wait for the process to end
app_process.wait()
# Verify the process has ended
assert app_process.returncode is not None
urllib.error.HTTPError: HTTP Error 404: Not Found
i am getting this error while running your "python app/app.py" command in python virtual env
Hi @AmanSal1, could you please open a separate issue to tell us more about the error you are seeing:
- the full terminal output, including your command
- the steps you took to install the app
Thanks!
@clstaudt compiled it !! now working fine
would work on your bug now
can you explain in brief about the the issue ? like you want to implement this fuction ??
Test: Integration test for successful app start #218
Good news @AmanSal1
We welcome your contribution. The task is to implement a test that tests whether the app starts and quits successfully, as part of the test suite in tuttle_tests.
Here's how you can proceed:
- have a look at the unit test suite, run it with
pytestand check that everything is green - add a new test module
tuttle_tests/test_app.py - add a function
test_app_starts_and_quitsand start developing
Here's how to contribute:
- work on a new branch branching off the
devbranch (e.g.test-app) - create a new pull request for that branch
- mark it as draft as long as it is unfinished
- assign me as a reviewer if ready
- ask me anything in the discussion of the pull request if you need support
@clstaudt as if now there is no module to test that the app starts and quits successfully,so we have to implement a function to check it ? right ?
@AmanSal1 Correct, currently there is no test in the test suite that would catch any error that prevents the app from starting.
The test suite is run via the GitHub CI pipeline after every commit - which then shows ✅ or ❌.
Sorry to disturb you again and again but i am bit confused because as i tried to comment out build method in app.py and then run it so it gave me an error . so basically it is show which module is preventing to start the app
so exatly what do you want ?
@AmanSal1 A unit test that would fail on such an error would be great.
Also, any test that fails when the app fails to start properly.
@clstaudt thank you for the explanation i got the clarity will work on it now
@AmanSal1 Another reason why we need such tests: A developer used a feature from Python 3.10. With Python 3.9 it's a syntax error that prevents the app from starting. No developer noticed because everyone was working with 3.10. That's where automatic tests come in, to quickly test things across environments.
@clstaudt yes yes i got your point faced a same issue when i was trying to compile some other github projects . I am working towards it will get back to you if something positive happens