- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在尝试使用 Sitecore api 进行单元测试。我在 Visual Studio 的解决方案中得到了一个单元测试项目 (MSTest)。我将 configSections、connectionStrings、appSettings、sitecore、log4net 元素从我的 web.config 复制到我的 app.config。
我要运行的测试是:
Sitecore.Context.Database = Factory.GetDatabase("master");
Item a = Sitecore.Context.Database.GetItem("/sitecore/content/Home");
Assert.IsFalse(a.HasChildren);
我在 app.config 文件中定义了我的数据文件夹,我的核心数据库、主数据库和 Web 数据库的连接字符串也在 app.config 中设置。
抛出的异常是:
System.TypeInitializationException: The type initializer for 'Sitecore.SecurityModel.License.LicenseManager' threw an exception. ---> System.IO.FileNotFoundException: Could not load file or assembly 'file:///c:\inetpub\bin\Sitecore.Nexus.dll' or one of its dependencies. The system cannot find the file specified.=== Pre-bind state information ===
LOG: User = NT AUTHORITY\SYSTEM
LOG: Where-ref bind. Location = c:\inetpub\bin\Sitecore.Nexus.dll
LOG: Appbase = file:///C:/BuildAgent/temp/buildTmp/SYSTEM_E1259 2012-07-16 14_42_19/Out
LOG: Initial PrivatePath = NULL
Calling assembly : (Unknown).
===
LOG: This bind starts in LoadFrom load context.
WRN: Native image will not be probed in LoadFrom context. Native image will only be probed in default load context, like with Assembly.Load().
LOG: Using application configuration file: C:\BuildAgent\temp\buildTmp\SYSTEM_E1259 2012-07-16 14_42_19\Out\foo.bar.Framework.Tests.Core.DLL.config
LOG: Using host configuration file:
LOG: Using machine configuration file from C:\Windows\Microsoft.NET\Framework\v4.0.30319\config\machine.config.
LOG: Attempting download of new URL file:///c:/inetpub/bin/Sitecore.Nexus.dll.
奇怪的是,当我使用“在当前上下文中运行测试”运行它时,我没有得到异常。当我在 TeamCity 中运行它或使用“在解决方案中运行所有测试”时,我得到了异常。显然该文件不在 c:/inetpub/bin/Sitecore.Nexus.dll 中
谁能告诉我我做错了什么?
编辑
当我添加 HttpSimulator 时,错误消失了。发生另一个错误:
Test method foo.Bar.Framework.Tests.Core.UnitTest1.TestMethod1 threw exception:
System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.TypeInitializationException: The type initializer for 'Sitecore.Services.Heartbeat' threw an exception. ---> System.InvalidOperationException: Could not read Sitecore configuration.
正在读取的设置是“HeartbeatInterval”,这个设置在我的 app.config 中。当我将 Settings.GetSetting("HeartbeatInterval") 添加到我的快速 watch 时,它会返回正确的值。好像sitecore.kernel 无法访问app.config?!
最佳答案
正如您在“编辑”下方看到的那样:我没有使用可以在其中设置 webroot 的本地路径的 HttpContext。在我这样做之后,我解决了最初的问题
关于c# - 单元测试 Sitecore LicenseManager,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11503985/
我正在尝试使用 Sitecore api 进行单元测试。我在 Visual Studio 的解决方案中得到了一个单元测试项目 (MSTest)。我将 configSections、connection
我看过很多关于 Forms 和 UserControls 的 DesignMode 属性的帖子和问题。这个想法是您要检查控件是否处于设计模式(例如,控件显示在 Visual Studio 设计器中),
如果您有一个显示数据的表单,您可以做的一件事是在构造函数中引用 this.DesignMode 以避免在设计器中填充它: public partial class SetupForm : Form {
我是一名优秀的程序员,十分优秀!