code: def table_creator(func):
      
      def method(self, table_name, **kwargs):
          if self.odps.exist_table(table_name):
              return
          if kwargs.get('project', self.odps.project) != self.odps.project:
              tunnel = TableTunnel(self.odps, project=kwargs['project'])
          else:
              tunnel = self.tunnel
          func(self.odps, table_name, tunnel=tunnel, **kwargs)
          self.after_create_test_data(table_name)
  
      method.__name__ = func.__name__
      setattr(TestDataMixIn, func.__name__, method)
  
      return func
docs: Decorator for table creating method