Выполнение модульного теста со смоделированными свойствами EPiServer завершается неудачно - PullRequest
1 голос
/ 18 января 2012

Я использую некоторые фиктивные свойства EPiServer для тестирования части моего кода.И пока я обновляю эти свойства, я получаю исключение.Это сбойная строка:

var englishContent = new PropertyXhtmlString {
    Name = "EnglishOperationsMessage",
    LongString = "Message content in english"};

И вот сгенерированное исключение:

SetUp : System.TypeInitializationException :
The type initializer for 'EPiServer.Util.AutoCompressString' threw an exception.
----> System.IO.FileNotFoundException : Could not find file 'D:\Projects\Antenor-Management-System\Ams.Presenter.Test\bin\Debugweb.config'.
at EPiServer.Core.PropertyLongString.SetDefaultValue()
at EPiServer.SpecializedProperties.PropertyXhtmlString..ctor()
at Ams.Presenter.Test.Login.OperationsMessageTest.GetMockCollection() in OperationsMessageTest.cs: line 58
at Ams.Presenter.Test.Login.OperationsMessageTest.TestSetUp() in OperationsMessageTest.cs: line 19
--FileNotFoundException
at EPiServer.ConfigFileSettings.ᐁ()
at EPiServer.ConfigFileSettings.get_AllAppSettings()
at EPiServer.ApplicationConfiguration..ctor(String configFileName)
at EPiServer.ApplicationConfiguration..ctor(String configFileName, String rootVirtualPath)
at EPiServer.Global.get_EPConfig()
at EPiServer.Util.AutoCompressString..cctor()

Любые подсказки, как решить эту проблему, будут с благодарностью!Имейте в виду, это для EPiServer 6.42B.

Ответы [ 2 ]

0 голосов
/ 19 января 2012

В методе, который отображает PropertyXhtmlString, вызывается вызов Global.EPConfig:

Global.EPConfig["EPfEnableFriendlyURL"]

Проблема в том, что EPiServer.Global не обновляется во время модульного тестирования кода.Мне придется посмотреть, можно ли это каким-то образом смоделировать.

0 голосов
/ 18 января 2012

Конструктор для класса AutoCompressString (используется PropertyXhtmlString) ищет некоторые значения из файла конфигурации во время инициализации. Не удается найти файл конфигурации, поэтому он не может инициализироваться.

В вашем случае он ищет файл конфигурации в

D:\Projects\Antenor-Management-System\Ams.Presenter.Test\bin\Debugweb.config

Этот файл существует в этом месте?

...