2012-01-10 38 views
0

以下測試在我的Eclipse環境中運行時沒有問題,因爲testng TC。我找不到在AIX env上將其作爲testng TC運行的方法,因此我試圖使用JUnit runner將其作爲JUnit TC運行。 但是,我得到下面java.lang.Exception: No runnable methods在AIX上運行JUnit或testng TC

testGetRatePlan()(如下圖所示的代碼)有@Test標註錯誤,設置爲true的enable參數。我也試過沒有enabled = true,仍然是同樣的問題。

任何建議,我應該如何運行它?

謝謝!

run.sh腳本有以下選項:

/usr/java6_64/bin/java $jopts -cp junit-4.9.jar:contiperf.jar:bcs_app_bb.jar:bcs_app_bb_test.jar:testng.jar:jmock.jar:bcs_app_bb.jar org.junit.runner.JUnitCore com.cvp.prp.PRPBuildingBlockTest 

ms21cp01> run.sh JUnit version 4.9 .E Time: 0.003 There was 1 failure: 1) initializationError(com.cvp.prp.PRPBuildingBlockTest) java.lang.Exception: No runnable methods 
     at org.junit.runners.BlockJUnit4ClassRunner.validateInstanceMethods(BlockJUnit4ClassRunner.java:157) 
     at org.junit.runners.BlockJUnit4ClassRunner.collectInitializationErrors(BlockJUnit4ClassRunner.java:102) 
     at org.junit.runners.ParentRunner.validate(ParentRunner.java:336) 
     at org.junit.runners.ParentRunner.<init>(ParentRunner.java:74) 
     at org.junit.internal.builders.JUnit4Builder.runnerForClass(JUnit4Builder.java:13) 
     at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:57) 
     at org.junit.internal.builders.AllDefaultPossibilitiesBuilder.runnerForClass(AllDefaultPossibilitiesBuilder.java:29) 
     at org.junit.runner.Computer.getRunner(Computer.java:38) 
     at org.junit.runner.Computer$1.runnerForClass(Computer.java:29) 
     at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:57) 
     at org.junit.runners.model.RunnerBuilder.runners(RunnerBuilder.java:98) 
     at org.junit.runners.model.RunnerBuilder.runners(RunnerBuilder.java:84) 
     at org.junit.runners.Suite.<init>(Suite.java:79) 
     at org.junit.runner.Computer.getSuite(Computer.java:26) 
     at org.junit.runner.Request.classes(Request.java:69) 
     at org.junit.runner.JUnitCore.run(JUnitCore.java:117) 
     at org.junit.runner.JUnitCore.runMain(JUnitCore.java:98) 
     at org.junit.runner.JUnitCore.runMainAndExit(JUnitCore.java:53) 
     at org.junit.runner.JUnitCore.main(JUnitCore.java:45) 

FAILURES!!! Tests run: 1, Failures: 1 

* 代碼: *

@Test(enabled = true) 
public void testGetRatePlan() throws Throwable { 
    readRecord(ACCOUNT_WITH_SUBSC_V1); 
    final PrpSubscriptionRecord expectedSubscription = prepareTestOutput(); 

    expect(new Expectations() { 
     { 
      oneOf(enablerMock).get(PrpDAO.class); 
      will(returnValue(prpDAOMock)); 

      oneOf(prpDAOMock).getSubscription(subscriptionId); 
      will(returnValue(expectedSubscription)); 
     } 
    }); 

    String actualRatePlan = prpBBimpl.getRatePlan(transData, tgc, callType); 

    Assert.assertEquals(actualRatePlan, promotionName); 
} 

回答

2

你需要的,如果你想運行JUnit測試使用JUnit標註。

除此之外,我不知道「TC」是什麼意思。

+0

你的意思是他從testng輸入'@Test',但是需要從junit輸入'@Test'? – oers 2012-01-10 11:26:46

+0

是的。如果註釋與一個測試框架一起工作,它將不能與另一個測試框架一起工作。 – 2012-01-11 04:44:19

0

更改註釋以及從testNg導入junit。也改變你的sh文件使用junit亞軍。