Это тестовый класс: Я пытаюсь ввести объект Paper
, а затем выполнить действие, чтобы проверить, не вступила ли инъекция или нет.Зависимость впрыска не работает в Arquillian Test
@RunWith(Arquillian.class)
public class ExcelProcessorTest {
// Not work. Because Paper and ExcelProcessorTest are in different modules?
@Inject
private Paper paper;
@Deployment
public static JavaArchive createDeployment() {
JavaArchive jar = ShrinkWrap.create(JavaArchive.class, "test.jar")
.addClasses(Paper.class)
.addAsManifestResource(EmptyAsset.INSTANCE, "beans.xml");
System.out.println(jar.toString(true));
return jar;
}
@Test
public void notNullTest() {
Assert.assertNotNull(paper); // paper is null here.
}
}
Я работаю над проектом под названием ftc
и это структура ftc
:
Обратите внимание, что ftc
является родительский модуль ftc-*
. Этот проект организован конвенцией Maven.
ExcelProcessorTest
класс расположен в ftc-test
модуле:
И Paper
класс находится в ftc-ejb
модуле:
Paper
класс представляет собой простой объектный компонент:
/**
* Paper generated by hbm2java
*/
@Entity
@Table(name = "paper")
public class Paper implements java.io.Serializable {
private Integer id;
private String title;
private String author;
private String journal;
private String volumn;
private String pages;
private String alternateJournal;
private String issn;
private String doi;
private String acccessionNumber;
private String keywords;
private String abstract_;
private Integer timesCited;
private Integer citedReferenceCount;
private String citedReferenceName;
private String website;
private String pdfPath;
private String issue;
private Integer paperIndexId;
private Integer year; // 论文发表的年份
private String type; // OVERVIEW, EXCEL, PAPER
private SourceFile sourceFile;
private Set<PaperIndex> paperIndexes = new HashSet<PaperIndex>(0);
private Set<Sentence> sentences = new HashSet<Sentence>(0);
public Paper() {
}
Могли
кто-нибудь скажет мне, почему инъекция ион не удалось?
О, у меня теперь есть чем заняться. Я вернусь сюда через несколько часов. Если вам нужно что-нибудь подробное, прокомментируйте ниже. Благодарю.