What I've been imagining is separating the process execution from how processes and channels are connected. I'm not so worried about process execution as those should be relatively easy to test in isolation. For connections, I've been thinking about creating mock processes that can validate the number of times they're called, the data types they're called with, etc. and then generate dummy data into the output channel. A test would then consist of some dummy input data and a bunch of assertions associated with the mock processes. Does that make sense?