使用arquillian unttainer模式,为什么Test方法在testng中获得数据提供者返回的值的时间的平均值?

时间:2013-02-18 04:42:53

标签: testing testng jboss-arquillian

我使用TestNG作为单元测试框架,使用Jboss AS7.1.1 Final作为服务器

数据提供程序和测试方法在客户端模式

中运行良好

相同的数据提供者将返回10行,我的Test方法在容器模式下执行近100次

测试方法

   @Test(groups="bean-tests",dataProvider="Presenter-Data-Provider")

   public void findByIdPositiveTest(long presenterId,String expectedPresenterName)

   {



   }

Dataprovider方法:

@DataProvider(name = "Presenter-Data-Provider")

public  Object[][] presenterTestDataProvider()

{



    EntityManagerFactory emf=null;

    EntityManager em=null;

    Object testcaseData[][]=null;

    Session session=null;

    try

    {

        emf=Persistence.createEntityManagerFactory("TestCaseDataSource");

        em=emf.createEntityManager();

        session=em.unwrap(Session.class);

        Criteria query=session.createCriteria(TestPresenter.class).setFirstResult(0).setMaxResults(10);

        List<TestPresenter> rowList=query.list();

        testcaseData=new Object[rowList.size()][2];

        for(int loopCount=0;loopCount<rowList.size();loopCount++)

        {

            TestPresenter row=rowList.get(loopCount);



            testcaseData[loopCount][0]=row.getPresenterId();

            testcaseData[loopCount][1]=row.getExpectedPresenterName();

        }





    }

    catch(Exception exception)

    {

      mLog.error(exception.getMessage()); 

    }

    return testcaseData;



}

我使用以下套件配置作为Test Suite运行

<test name="Bean testing">

    <groups>

        <run>

            <!-- This has to be added by default while using arquillian Test Runner -->

            <include name="arquillian" />

            <include name="bean-tests" />



        </run>

    </groups>

    <classes>

        <class name="blah.blah.blah.PresenterManagerBeanTest" />

    </classes>

</test>

请告诉我我做错了什么  或者指导我如何从DB到数据提供者获取值并使用In container mode

进行测试

提前致谢

sathiya seelan

1 个答案:

答案 0 :(得分:0)

看起来它与https://issues.jboss.org/browse/ARQ-1282有关。问题仍然存在。