2016-11-29 47 views
1

我正在嘗試使用Maven和TestNG創建一個測試自動化框架。應用程序中的所有測試類都在src/test/java文件夾下編寫,所有實用程序方法都編寫在src/main/java下。我可以成功使用pom.xml運行所有測試腳本。該框架還包含一個主要的方法,從中動態創建testng.xml並運行測試類。在主要的方法,我使用加載下面的代碼如何在主類中使用maven測試類

File classDir = new File("C:/workspace/myproject/target/test-classes/packagename/testScripts/"); //This is the path of all the compiled test classes 
URL[] classUrl = {classDir.toURI().toURL()}; 
URLClassLoader urlClassLoader = new URLClassLoader(classUrl); 
Class<?> testClass=urlClassLoader.loadClass("packagename.testScripts.TestClassName"); 

測試類,但它拋出異常

java.lang.ClassNotFoundException: packagename.testScripts.TestClassName 

如何解決這個問題?

+1

你不能訪問測試從主模塊類。取而代之的是創建另一個模塊,例如'myapp-test-lib'並將類放在'main'路徑中。 – vikingsteve

回答

0

根據你的類的FQN是packagename.testScripts.TestClassName,你classDir未正確設置它應該是:

File classDir = new File("C:/workspace/myproject/target/test-classes/");