I normally treat a job as the unit so that's what I would be testing.
As the developer I'd run the job step by step out of DIS and ensure every single node returns what I'm expecting. That's informal testing during development. For unit testing I'd execute the job multiple times testing for example situations like: source table with no rows, re-running job with same data, source table doesn't exist, target table doesn't exist, ....and so on. This can be out of DIS or via batch.
I'd sure have at least one run in batch as this is how things need to work in the end.
... View more