I agree with the splitting the app in smaller chunks. The number of apps increases, but the complexity decreases. Not only for testing, for the app management in general.
I test the server modules with PyCharm.
In my computer I have a folder structure similar to this:
App
XYZXYZXYZ
.git
[...]
forms
Main.py
Main.yaml
server_modules
ServerModule1.py
ServerModule2.py
theme
[...]
TestSuite
.git
[...]
test1.py
test2.py
test_uplink1.py
test_uplink2.py
Uplink
.git
[...]
uplink1.py
uplink2.py
I create the XYZXYZXYZ
folder by cloning the Anvil repository. Then I create the TestSuite
and Uplink
folders.
At this point I have 3 folders, each with a git repository, inside the same app
folder. I start PyCharm, open the app
folder as a new project and PyCharm manages the 3 repositories (almost) as if they were one. This allows me to test all the logic in the server and the uplink modules.
I do all the editing of the server modules in PyCharm, way more powerful than in the online IDE. I keep the online IDE only for form editing.
It is easy to configure PyCharm so that tests and uplinks can import server modules.
It is less easy to import server modules from dependency apps. I am working on one right now, I will see how far I can go.
I just started testing the interface using this technique and it’s promising. Bryndon just found a bug that had been bugging him for days.