I am building an application in C# which uses com.gargoylesoftware.htmlunit.WebClient to access and retrieve information from webpages.
My application runs fine from the main project but when I try to build unit tests to test the project classes I get the following error:
FactoryConfigurationError
Message "Provider com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactoryImpl not found"
Source "IKVM.OpenJDK.XML.API" string
StackTrace " at javax.xml.parsers.DocumentBuilderFactory.newInstance()
at com.gargoylesoftware.htmlunit.javascript.configuration.JavaScriptConfiguration.loadConfiguration(Reader configurationReader)
at com.gargoylesoftware.htmlunit.javascript.configuration.JavaScriptConfiguration.loadConfiguration()
at com.gargoylesoftware.htmlunit.javascript.configuration.JavaScriptConfiguration..ctor(BrowserVersion )
at com.gargoylesoftware.htmlunit.javascript.configuration.JavaScriptConfiguration.getInstance(BrowserVersion browserVersion)
at com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine..ctor(WebClient webClient)
at com.gargoylesoftware.htmlunit.WebClient.init(BrowserVersion , ProxyConfig )
at com.gargoylesoftware.htmlunit.WebClient..ctor(BrowserVersion browserVersion)
at com.gargoylesoftware.htmlunit.WebClient..ctor()
at GWT.HeadlessBrowser..ctor() in C:\\hg\\EXE\\GWT\\HeadlessBrowser.cs:line 57
at TestGWT.ProgramTest.TestLogInProcessForGWT() in C:\\hg\\TestGWT\\ProgramTest.cs:line 115"
Trying to create a HtmlUnit WebClient in the unit test class causes this error as well.
I have project references htmlunit-2.7, IKVM.OpenJDK.Core, and IKVM.OpenJDK.XML.API in both the main project and the project containing the unit test.
Do I need an additional project reference for the unit test to run? What might be causing this error?
The test class uses Microsoft.VisualStudio.TestTools.UnitTesting;
I ran into the same issue just recently while testing the same library. I found that including a reference to IKVM.OpenJDK.XML.Parse.dll solved the issue.