以下測試在我的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);
}
你的意思是他從testng輸入'@Test',但是需要從junit輸入'@Test'? – oers 2012-01-10 11:26:46
是的。如果註釋與一個測試框架一起工作,它將不能與另一個測試框架一起工作。 – 2012-01-11 04:44:19