0
我嘗試測試具有註解@DependsOn的單例,其中我標記了之前必須初始化的另一個單例。但在測試中,我不想加載它們,因爲它爲我的測試提供了許多無用的類。對於前:如何在Arquillian測試中禁用@DependsOn註釋?
@Singleton
@DependsOn({"anotherSingleton1", "anotherSingleton2"...})
public class SomeSingleton {
... methods and logic...
}
這裏的例子測試:
public class SomeSingletonIT extends Arquillian {
@Mock SomeClassInSingleton;
... another mocks...
@Inject
@InjectMocks
SomeSingleton instance;
@BeforeClass
public void initMocks() {
mocks logic
}
@Deployment
public static WebArchive createDeployment() {
return ShrinkWrap.create(WebArchive.class, "test.war")
.addClasses(
SomeSingleton.class
)
.addAsLibraries(some Libs)
.addAsWebInfResource(EmptyAsset.INSTANCE,"beans.xml");
}
@Test
public void testGetProactiveSubjects() throws Exception {
System.out.println("***----------------------------------***");
assertNotNull(instance);
...some assertions...
System.out.println("***----------------------------------***");
}
}
我得到了的Arquillian並不見註釋@DependsOn單身類例外。但是如果我將它們包含在測試存檔中 - 我將不得不包括它們的所有依賴關係。並嘲笑他們在@ PostConstruct中的一些邏輯。所以...我如何禁用或模擬@DependsOn? 我使用arquillian與螢火蟲管理的容器。
是的,我只是嘗試類似的事情 - 我創建了虛擬單身人士,並根據需要在@DependsOn中命名它們(@Singleton(name =「amotherSingleton1」),並將它們包含到ShrinkWrap存檔中。不喜歡當我的項目中有無用的類,就像嘲笑一樣創建:)如果有人知道如何通過mockito實現 - 我會對你很有用! –