Ich benutze Java 6. Wenn ich den jmockit Test mit Java-Agent -javaagent:C:\jmockit-1.20.jar
ausführen, funktioniert es gut. Aber wenn ich es entferne ich bekommen unten FehlerJava-Agent ist obligatorisch für jmockit Testfall auf Java 6?
java.lang.Exception: Method testData_1 should have no parameters
at org.junit.runners.model.FrameworkMethod.validatePublicVoidNoArg(FrameworkMethod.java:69)
at org.junit.runners.ParentRunner.validatePublicVoidNoArgMethods(ParentRunner.java:131)
at org.junit.runners.BlockJUnit4ClassRunner.validateTestMethods(BlockJUnit4ClassRunner.java:178)
at org.junit.runners.BlockJUnit4ClassRunner.validateInstanceMethods(BlockJUnit4ClassRunner.java:163)
at org.junit.runners.BlockJUnit4ClassRunner.collectInitializationErrors(BlockJUnit4ClassRunner.java:102)
at org.junit.runners.ParentRunner.validate(ParentRunner.java:344)
Wie ich im Internet, die auf JDK lesen 1.6+ Anbringen Java-Agent ist keine solche Anforderung ist, da JMockit transparent die Java-Agenten bei Bedarf geladen werden können durch die API-Attach verwenden. Aber warum dann werfen Fehler ohne Java-Agent?
versucht mit '@ RunWith (JMockit.class)' und entfernen Sie Java-Agent. Funktioniert nicht . Same errror – emilly
Ah, nun, vielleicht hat das nichts mit 'JMockit' zu tun? Der Fehler besagt, dass in Ihrer Testmethode Parameter definiert sind, die ungültig sind. Entfernen Sie also die Annotation "@ Test" von "testupdatePaymentData_1" oder entfernen Sie die Parameter dieser Methode. – Vampire
gut, wenn ich @Test entferne, wird es nicht als Testfall erkannt. Auch ich kann die Parameter dieser Methode nicht entfernen, da ich sie brauche. – emilly