JUnit在GlassfishV3上没有使用JSF,没有实例化ejb容器,这是正确的吗?

JUnit在GlassfishV3上没有使用JSF,没有实例化ejb容器,这是正确的吗?,junit,ejb-3.0,jsf-2,glassfish-3,Junit,Ejb 3.0,Jsf 2,Glassfish 3,我正在为我的论文开发一个网络应用程序。现在我要做的是,我想在那个web应用程序上运行自动测试。问题是,我无法运行此测试。Stacjtrace说他无法从我想要测试的类中找到需要的类 我已经调试并查看了NetBeans中加载了哪些类。似乎只有我测试的类被加载了。有人告诉我,我必须运行一个嵌入式玻璃鱼 提前谢谢 Testcase: testGetInstance(org.iav.io.IOFacadeTest): Caused an ERROR null java.lang.Except

我正在为我的论文开发一个网络应用程序。现在我要做的是,我想在那个web应用程序上运行自动测试。问题是,我无法运行此测试。Stacjtrace说他无法从我想要测试的类中找到需要的类

我已经调试并查看了NetBeans中加载了哪些类。似乎只有我测试的类被加载了。有人告诉我,我必须运行一个嵌入式玻璃鱼

提前谢谢

Testcase: testGetInstance(org.iav.io.IOFacadeTest):        Caused an ERROR
null
java.lang.ExceptionInInitializerError
        at org.iav.io.IOFacade.<init>(IOFacade.java:32)
        at org.iav.io.IOFacade.getInstance(IOFacade.java:47)
        at org.iav.io.IOFacadeTest.testGetInstance(IOFacadeTest.java:50)
Caused by: java.lang.NullPointerException
        at org.iav.io.LicenseListFileBean.<clinit>(LicenseListFileBean.java:47)


Testcase: testGetPoolSize(org.iav.io.IOFacadeTest):        Caused an ERROR
Could not initialize class org.iav.io.LicenseListFileBean
java.lang.NoClassDefFoundError: Could not initialize class org.iav.io.LicenseListFileBean
        at org.iav.io.IOFacade.<init>(IOFacade.java:32)
        at org.iav.io.IOFacadeTest.testGetPoolSize(IOFacadeTest.java:63)

是的,单元测试只涉及您正在测试的类。您必须为单元测试模拟容器类


如果您所追求的是集成或系统测试,它测试类如何与其环境交互,那么您将需要在嵌入式环境中运行应用程序。请注意,它提供了一种简单易用的方法来管理嵌入式测试环境。适用于Glassfish 3.0.1、JBoss和其他一些容器。

谢谢。似乎真的很容易使用。试试看。@adem.caliskan马上就来!阿奎利安很棒。如果它对你有效,别忘了接受这个答案。
@ApplicationScoped
public class IOFacade extends Observable {

    private static IOFacade instance;
    private UserListFileBean userListFileBean;
    private LicenseListFileBean licenseListFileBean;
    private FileAccessorBean fileAccessorBean;

    /**
     * Constructor for this class. Initializing also dependent classes.
     * Encapsulates IO-Subsystem from beeing direct accessed.
     */
    public IOFacade() {
        licenseListFileBean = LicenseListFileBean.getInstance();
        userListFileBean = UserListFileBean.getInstance();
        fileAccessorBean = FileAccessorBean.getInstance();
        /** Registering this instance at fileAccessorBean to be notified if list
         * has changed.
         */
        addObserver(fileAccessorBean);
    }