Получаю ошибку "поставщику com.солнце.орг."Апач".xerces.внутренние.как jaxp.DocumentBuilderFactoryImpl не нашли" в модульного тестирования, но не в основной программе

Я создаю приложение на C#, которое использует com.gargoylesoftware.htmlunit.WebClient для доступа и извлечения информации с веб-страниц.

мое приложение работает нормально от основного проекта, но когда я пытаюсь построить модульные тесты для тестирования классов проекта, я получаю следующую ошибку:

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:hgEXEGWTHeadlessBrowser.cs:line 57
at TestGWT.ProgramTest.TestLogInProcessForGWT() in C:hgTestGWTProgramTest.cs:line 115"

попытка создать HtmlUnit WebClient в классе модульного теста также вызывает эту ошибку.

У меня есть ссылки на проект htmlunit-2.7, IKVM.Пакеты OpenJDK.Ядро и IKVM.Пакеты OpenJDK.XML.API в основной проект и проект, содержащий модульный тест.

нужна ли дополнительная ссылка на проект для выполнения модульного теста? Что может быть причиной этой ошибки?

тестовый класс использует Microsoft.VisualStudio.TestTools.UnitTesting;

2 ответов


недавно я столкнулся с той же проблемой при тестировании той же библиотеки. Я нашел это, включая ссылку на IKVM.Пакеты OpenJDK.XML.Разбор.dll решил проблему.


я столкнулся с аналогичной проблемой.

похоже на COM.солнце.орг."Апач".xerces.внутренние.как jaxp.Класс DocumentBuilderFactoryImpl не загружается и поэтому завод не может создать его. Добавление этой строки перед вызовом на завод заставляет сборку загружаться, а затем завод может ее видеть, и все работает так, как ожидалось...

com.sun.org.apache.xerces.@internal.jaxp.SAXParserFactoryImpl s =   new  com.sun.org.apache.xerces.@internal.jaxp.SAXParserFactoryImpl();