3

単体テスト フレームワークとして TestNG を使用し、サーバーとして Jboss AS7.1.1 Final を使用しています。

データ プロバイダーとテスト メソッドは、クライアント モードで適切に機能します。

同じ dataprovider が 10 行を返し、テスト メソッドがコンテナ モードでほぼ 100 回実行されます。

試験方法

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

   public void findByIdPositiveTest(long presenterId,String expectedPresenterName)

   {



   }

データプロバイダーの方法:

@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 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>

Plsは私がしたことが間違っていたことを教えてください。または、DBからデータプロバイダーに値を取得し、コンテナモードを使用してテストする方法を教えてください

前もって感謝します

サティヤ・シーラン

4

1 に答える 1

0

https://issues.jboss.org/browse/ARQ-1282に関連しているようです。問題はまだ未解決です。

于 2015-03-04T08:12:32.883 に答える