Splitting Apps for Testing

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.

1 Like