E2E testing in Defold

Hey @Mathias_Westerdahl, this advice was gold, I’ve managed to get 95% of the way towards my desired setup. I have a Python script that spins up an instance of my backend and two instances of my frontend. I also have it set up almost as you described:

  1. Build client 1 with a settings file that looks like this:
[localtest]
create_room=blah
  1. Start up client 1. It reads this and then creates a room.
  2. The server writes the room ID to a file.
  3. Build client 2 with a settings file like this:
[localtest]
join_room_id=xDOvLT_tV
  1. Client 2 joins the room. This part doesn’t work right now, instead the create_room block triggers, even though I’m confident the file is correct.

I have this working most of the way, but I am running into a couple of issues:

  1. I can no longer see the debug console output from the client, since I am running the built app directly. I was hoping perhaps it would get output to stdout + stderr, but it doesn’t seem that way. Is there some way to make this happen, or should I add some custom logging solution? (and do you have a recommendation there)
  2. When I check certain config values (sys.get_config("localtest.create_room")) (which I learned to do from here: Access gravity in Project Settings (SOLVED)) it says they are true even though I did not set that value in the settings for that build.

I think I could probably figure out 2 if I had 1 working though.

Overall though this is a way better solution than what I had, thanks a lot for the advice. Now I just run one command and I get the full E2E setup. Thanks so much!

@britzl Those look great. I’ll report back when I get around to using poco. Thanks!

2 Likes