As written the entire try/catch block could still be tested using self.assertRaises(SystemExit, self.command.generate_metadata, None, **args)'

Using self.assertRaises() is much clearer in terms of what you are trying to accomplish.