Hi, so I've been trying to learn more about unit tests for my jira addon but I hit wall pretty early. I have simple Unit test which mocks IssueManager with one issue. That looks fine but the problem is when I try to get the issue specifically with issuekey
@RunWith(MockitoJUnitRunner.class)
public class JiraServiceUnitTest {
@Before
public void setUp() throws Exception {
MockIssueManager issueManager = new MockIssueManager();
MockIssue issue = new MockIssue(10000, "FD-1001");
issueManager.addIssue(issue);
MockComponentWorker componentWorker = new MockComponentWorker();
componentWorker.addMock(IssueManager.class, issueManager);
componentWorker.init();
}
@Test
// OK
public void testIssueManager() {
IssueManager issueManager = ComponentAccessor.getIssueManager();
assertNotNull(issueManager);
}
@Test
// OK
public void testIssueSearchById() {
IssueManager issueManager = ComponentAccessor.getIssueManager();
Issue issue = issueManager.getIssueObject(10000L);
assertNotNull(issue);
}
@Test
// ERROR
public void testIssueSearchByKey() {
IssueManager issueManager = ComponentAccessor.getIssueManager();
Issue issue = issueManager.getIssueObject("FD-1001");
assertNotNull(issue);
}
}
From research I did I learned that there might be a problem with jira java api loading for tests that has something to do with osgi and that it could be solved by adding
<bundle-instructions>
<Import-Package>com.atlassian.jira.issue;resolution:="optional"</Import-Package>
</bundle-instructions>
to atlassian-plugin.xml. But this didn't work for me. The question is what am I doing wrong?
Online forums and learning are now in one easy-to-use experience.
By continuing, you accept the updated Community Terms of Use and acknowledge the Privacy Policy. Your public name, photo, and achievements may be publicly visible and available in search engines.