src/test/java/com/wpollock/jaxbdemo/JaxbDemoTest.java

package com.wpollock.jaxbdemo;

import org.junit.jupiter.api.AfterAll;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;

import static org.junit.jupiter.api.Assertions.*;
//import org.junit.After;
//import org.junit.Before;
import javax.xml.bind.*;
import java.io.*;
import java.math.BigDecimal;

class ProductToXmlTest {
    private static Product product;

    @BeforeAll
    static void setUp() {
        long l = 10;
        Long longId = l;
        User user = new User(longId, "Hymie", "HPiffl@wpollock.com");
        product = new Product("PO1", "Spring Guru Mug", "https://springframework.guru/wp-content/uploads/2015/04/spring_framework_guru_shirt-rf412049699c14ba5b68bb1c09182bfa2_8nax2_512.jpg", new BigDecimal(18.95), user);
    }

    @AfterAll
    static void tearDown() {
        product = null;
    }

    @Test
    @DisplayName("Object to XML")
    public void testObjectToXml() throws JAXBException, FileNotFoundException {
        JAXBContext jaxbContext = JAXBContext.newInstance(Product.class);
        Marshaller marshaller = jaxbContext.createMarshaller();
        marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
        marshaller.marshal(product, new File("product.xml"));
        marshaller.marshal(product, System.out);
    }
}