FilePersister implements Persister { @Override public void saveTestResult(PersistMetadata metadata, TestResult result) { File file = checkParentFileAvailable(getTestResultFile(metadata)); LOG.debug("[Save TestResult] ({})", file); LOG.trace("[Save TestResult] (result: {}; meta: {})", result, metadata); try { JSONUtils.writeValueWithIndent(file, result); } catch (JSONException e) { LOG.debug("Failed to save TestResult.", e); throw e; } } FilePersister();  FilePersister(FilePersisterConfig config); @Override void saveDiffImage(PersistMetadata metadata, BufferedImage image); @Override BufferedImage loadDiffImage(PersistMetadata metadata); @Override void saveScreenshot(PersistMetadata metadata, BufferedImage image); @Override InputStream getImageStream(PersistMetadata metadata); @Override BufferedImage loadScreenshot(PersistMetadata metadata); @Override void saveTargetResults(PersistMetadata metadata, List<TargetResult> results); @Override List<TargetResult> loadTargetResults(final PersistMetadata metadata); @Override void saveTestResult(PersistMetadata metadata, TestResult result); @Override TestResult loadTestResult(PersistMetadata metadata); @Override void saveExpectedIds(Map<String, Map<String, String>> expectedIds); @Override Map<String, Map<String, String>> loadExpectedIds(); File getResultDirectoryFile(); File getExpectedIdsFile(); File getTestResultFile(PersistMetadata metadata); File getTargetResultsFile(PersistMetadata metadata); File getScreenshotImageFile(PersistMetadata metadata); File getDiffImageFile(PersistMetadata metadata); String getExpectedIdsFileName(); String getTestResultFileName(); String getTargetResultsFileName(PersistMetadata metadata); String getScreenshotImageFileName(PersistMetadata metadata); String getDiffImageFileName(PersistMetadata metadata); static final String DEFAULT_EXPECTED_IDS_FILE_NAME; static final String DEFAULT_TEST_RESULT_FILE_NAME; }
@Test public void testSaveTestResult() throws Exception { TestResult expected = JSONUtils.readValue(getClass().getResourceAsStream("FilePersister_TestResult.json"), TestResult.class); PersistMetadata metadata = new PersistMetadata("test1", "testClass"); persister.saveTestResult(metadata, expected); File file = new File(BASE_DIRECTORY + "/test1/testClass/result.json"); TestResult result = JSONUtils.readValue(file, TestResult.class); assertThat(result, is(expected)); }