Hi Marc,
Unfortunately I don't think there's a way to mock an XCom (or any other task dependency). A couple thoughts:
1. XComs are persisted to the database, so if you `test` the prior task, it should properly store its XCom and make it available when you `test` the subsequent task
2. If a matching XCom value isn't found, it should return None (or potentially a list of Nones, if you passed a list of task_ids), so you could build logic to explicitly handle this case. For example, if your task communicates to its future self (a "last_updated" value, for example), then at least one run (the first one) will encounter a None that has to be handled.
I'm a little surprised about the backfill behavior, because backfilled tasks should only run if all dependencies are done. Could you provide a simple test case?