Używam ant i TestNG 6.1.1, a moje testy działały właśnie dobrze wczoraj. Dzisiaj, kiedy próbuję uruchomić testy, otrzymuję NoClassDefFoundError z udziałem com/beust/jcommander/ParamException. Oto wynik:Nagle nie można uruchomić testów TestNG z ant ([testng] Powodowanego przez: java.lang.ClassNotFoundException: com.beust.jcommander.ParameterException)
[copy] Copying 1 file to /Users/djohnson/src/webapp/components/build/tmp
[testng] Exception in thread "main" java.lang.NoClassDefFoundError: com/beust/jcommander/ParameterException
[testng] Caused by: java.lang.ClassNotFoundException: com.beust.jcommander.ParameterException
[testng] at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
[testng] at java.security.AccessController.doPrivileged(Native Method)
[testng] at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
[testng] at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
[testng] at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
[testng] at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
[testng] The tests failed.
Oto plik .xml Używam:
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
<suite name="Single Method Suite">
<test name="Single Method Test">
<classes>
<class name="DhcpTest">
<methods>
<exclude name=".*" />
<include name="setGetEnabledTest" />
</methods>
</class>
</classes>
</test>
</suite>
Ja również określić pełną ścieżkę do klasy bez powodzenia. Sprawdziłem ścieżkę klas i wszystko wygląda dobrze, czy ktoś ma jakieś pomysły na ten temat?
Ok, więc dodałem jcommander-1.17.jar do ścieżki klasy, a ja wciąż dostać ten sam błąd. – anotherdjohnson
Teraz, gdy opublikowałem to dla całego świata, odkryłem, że jcommander nie był w rzeczywistości w ścieżce klas. Byłem pewien, że go tam widziałem, ale na pewno go brakowało. Teraz nie można znaleźć testu, nie wiem dlaczego, ponieważ potrójnie sprawdziłem ścieżkę klasy i na pewno tam jest. – anotherdjohnson