Я хочу протестировать метод getCitation () с помощью jUnit:
@Singleton
public class QuotesLoaderBean {
Properties quotes;
Properties names;
@PostConstruct
public void init() {
InputStream quotesInput = this.getClass().getClassLoader().getResourceAsStream("quotes.properties");
InputStream namesInput = this.getClass().getClassLoader().getResourceAsStream("names.properties");
quotes = new Properties();
names = new Properties();
try {
quotes.load(quotesInput);
names.load(namesInput);
} catch (IOException ex) {
Logger.getLogger(QuotesLoaderBean.class.getName()).log(Level.SEVERE, null, ex);
}
}
public Citation createCitation(String quote) {
Citation citation = new Citation();
citation.setQuote(quote);
citation.setWho(getName());
return citation;
}
public Citation getCitation() {
Citation citation = new Citation();
citation.setQuote(getQuote());
citation.setWho(getName());
return citation;
}
В тестовом файле я хочу внедрить синглтон и использовать его в тестовом методе. Но затем я получаю исключение NullPointerException:
public class QuoteServiceTest {
@Inject
QuotesLoaderBean quotesLoaderBean;
public QuoteServiceTest() {
}
@BeforeClass
public static void setUpClass() {
}
@AfterClass
public static void tearDownClass() {
}
@Before
public void setUp() {
}
@After
public void tearDown() {
}
@Test
public void whenGetQuote_thenQuoteShouldBeReturned() {
quotesLoaderBean.getQuote();
}
}
Метод тестирования не завершен, но я просто хочу показать исключение, которое происходит, когда я вызываю метод из Singleton. В другом классе обслуживания я могу легко внедрить класс и вызвать методы.