def METHOD_NAME(self, runner: Runner, batch_idx: int, data_batch: dict,
                    outputs: Sequence[PoseDataSample]) -> None:
    """Run after every testing iterations.
    Args:
        runner (:obj:`Runner`): The runner of the testing process.
        batch_idx (int): The index of the current batch in the test loop.
        data_batch (dict): Data from dataloader.
        outputs (Sequence[:obj:`PoseDataSample`]): Outputs from model.
    """
    if self.enable is False:
        return
    if self.out_dir is not None:
        self.out_dir = os.path.join(runner.work_dir, runner.timestamp,
                                    self.out_dir)
        mmengine.mkdir_or_exist(self.out_dir)
    self._visualizer.set_dataset_meta(runner.test_evaluator.dataset_meta)
    for data_sample in outputs:
        self._test_index += 1
        img_path = data_sample.get('img_path')
        img_bytes = fileio.get(img_path, backend_args=self.backend_args)
        img = mmcv.imfrombytes(img_bytes, channel_order='rgb')
        data_sample = merge_data_samples([data_sample])
        out_file = None
        if self.out_dir is not None:
            out_file_name, postfix = os.path.basename(img_path).rsplit(
                '.', 1)
            index = len([
                fname for fname in os.listdir(self.out_dir)
                if fname.startswith(out_file_name)
            ])
            out_file = f'{out_file_name}_{index}.{postfix}'
            out_file = os.path.join(self.out_dir, out_file)
        self._visualizer.add_datasample(
            os.path.basename(img_path) if self.show else 'test_img',
            img,
            data_sample=data_sample,
            show=self.show,
            draw_gt=False,
            draw_bbox=True,
            draw_heatmap=True,
            wait_time=self.wait_time,
            kpt_thr=self.kpt_thr,
            out_file=out_file,
            step=self._test_index)