2016-10-01 8 views
2

私は標準Sitecore.KernelSitecore.Nexusで始めました。 Sitecoreはここでかなり説明的なエラーメッセージを表示します。したがって、DependencyInjectionも追加しました。これは多くの依存関係をもたらし、それらは以下の設定には表示されません。ご覧のとおり、私は*.NoReferencesバージョンのSitecoreパッケージを使用して依存関係を制御しています。Sitecore FakeDBテストの最小Nugetsフットプリントは何ですか?

<packages> 
    <package id="Microsoft.Extensions.DependencyInjection" version="1.0.0" targetFramework="net452" /> 
    <package id="Sitecore.FakeDb" version="1.2.2" targetFramework="net452" /> 
    <package id="Sitecore.Kernel.NoReferences" version="8.2.160729" targetFramework="net452" developmentDependency="true" /> 
    <package id="Sitecore.Nexus.NoReferences" version="8.2.160729" targetFramework="net452" developmentDependency="true" /> 
</packages> 

その後、私は拘りました。

System.NullReferenceException : Object reference not set to an instance of an object. 
    at Sitecore.Configuration.DefaultFactory.CreateType(XmlNode configNode, String[] parameters, Boolean assert) 
    at Sitecore.Configuration.DefaultFactory.CreateFromTypeName(XmlNode configNode, String[] parameters, Boolean assert) 
    at Sitecore.Configuration.DefaultFactory.CreateObject(XmlNode configNode, String[] parameters, Boolean assert, IFactoryHelper helper) 
    at Sitecore.Configuration.DefaultFactory.CreateObject(XmlNode configNode, String[] parameters, Boolean assert) 
    at Sitecore.Configuration.DefaultFactory.CreateObject(String configPath, String[] parameters, Boolean assert) 
    at Sitecore.Configuration.DefaultFactory.CreateObject(String configPath, Boolean assert) 
    at Sitecore.Configuration.DefaultFactory.GetDatabase(String name, Boolean assert) 
    at Sitecore.Configuration.DefaultFactory.GetDatabase(String name) 
    at Sitecore.Configuration.Factory.GetDatabase(String name) 
    at Sitecore.Data.Database.GetDatabase(String databaseName) 
    at Sitecore.FakeDb.Db..ctor(String databaseName) 
    at Sitecore.FakeDb.Db..ctor() 
    at SitecoreTests.Class1.HowToCreateSimpleItem() in C:\prog\temp\SitecoreTests\SitecoreTests\Class1.cs:line 17 

単純なFake DBテストを行うには、何が欠けていますか?

答えて

4

フルSitecore.Kernelに依存関係として参照されるすべてのパッケージを試した後、私は、このセットアップで終了:

<packages> 
    <package id="Lucene.Net" version="3.0.3" targetFramework="net452" /> 
    <package id="Microsoft.Extensions.DependencyInjection" version="1.0.0" targetFramework="net452" /> 
    <package id="Sitecore.FakeDb" version="1.2.2" targetFramework="net452" /> 
    <package id="Sitecore.Kernel.NoReferences" version="8.2.160729" targetFramework="net452" developmentDependency="true" /> 
    <package id="Sitecore.Logging.NoReferences" version="8.2.160729" targetFramework="net452" developmentDependency="true" /> 
    <package id="Sitecore.Nexus.NoReferences" version="8.2.160729" targetFramework="net452" developmentDependency="true" /> 
</packages> 

それはckearは、サイトコアはSitecore.Loggingなしで起動することができないということになりました。

も必要

Lucene.Netが、それのためにエラーがはるかに参考になっている:

System.IO.FileNotFoundException:ファイルまたはアセンブリ をロードできませんでした「Lucene.Net、バージョン= 3.0.3.0、文化=中立、 PublicKeyToken = 85089178b9ac3181 'またはその依存関係の1つ。 システムは、指定されたファイルを見つけることができません。

P.S.あなたは余分なDLLを参照する気にしないのであれば、あなたは仕事をテストするために2つだけのパッケージを追加することができます - Sitecore.Nexus.NoReferencesなし)とMicrosoft.Extensions.DependencyInjection

1

ここで私はFortisユニットテストプロジェクトで使用されるパッケージのリストです:

<packages> 
    <package id="AutoFixture" version="3.0.1" targetFramework="net452" /> 
    <package id="Lucene.Net" version="3.0.3" targetFramework="net452" /> 
    <package id="Microsoft.AspNet.Mvc" version="3.0.50813.1" targetFramework="net452" /> 
    <package id="Microsoft.AspNet.Razor" version="1.0.20105.408" targetFramework="net452" /> 
    <package id="Microsoft.AspNet.WebPages" version="1.0.20105.408" targetFramework="net452" /> 
    <package id="Microsoft.Extensions.DependencyInjection" version="1.0.0" targetFramework="net452" /> 
    <package id="Microsoft.Extensions.DependencyInjection.Abstractions" version="1.0.0" targetFramework="net452" /> 
    <package id="Microsoft.Web.Infrastructure" version="1.0.0.0" targetFramework="net452" /> 
    <package id="NSubstitute" version="1.10.0.0" targetFramework="net452" /> 
    <package id="RazorGenerator.Mvc" version="2.4.7" targetFramework="net452" /> 
    <package id="SharpZipLib" version="0.86.0" targetFramework="net452" /> 
    <package id="Sitecore.Abstractions.NoReferences" version="8.2.160729" targetFramework="net452" developmentDependency="true" /> 
    <package id="Sitecore.Analytics.NoReferences" version="8.2.160729" targetFramework="net452" developmentDependency="true" /> 
    <package id="Sitecore.Buckets.NoReferences" version="8.2.160729" targetFramework="net452" developmentDependency="true" /> 
    <package id="Sitecore.ContentSearch.Linq.NoReferences" version="8.2.160729" targetFramework="net452" developmentDependency="true" /> 
    <package id="Sitecore.ContentSearch.NoReferences" version="8.2.160729" targetFramework="net452" developmentDependency="true" /> 
    <package id="Sitecore.FakeDb" version="1.1.3" targetFramework="net452" /> 
    <package id="Sitecore.FakeDb.AutoFixture" version="1.1.3" targetFramework="net452" /> 
    <package id="Sitecore.FakeDb.NSubstitute" version="1.1.3" targetFramework="net452" /> 
    <package id="Sitecore.FakeDb.Serialization" version="1.1.3" targetFramework="net452" /> 
    <package id="Sitecore.Kernel.NoReferences" version="8.2.160729" targetFramework="net452" developmentDependency="true" /> 
    <package id="Sitecore.Logging.NoReferences" version="8.2.160729" targetFramework="net452" developmentDependency="true" /> 
    <package id="Sitecore.Nexus.NoReferences" version="8.2.160729" targetFramework="net452" developmentDependency="true" /> 
    <package id="System.Collections" version="4.0.11" targetFramework="net452" /> 
    <package id="System.Collections.Concurrent" version="4.0.12" targetFramework="net452" /> 
    <package id="System.ComponentModel" version="4.0.1" targetFramework="net452" /> 
    <package id="System.Diagnostics.Debug" version="4.0.11" targetFramework="net452" /> 
    <package id="System.Globalization" version="4.0.11" targetFramework="net452" /> 
    <package id="System.Linq" version="4.1.0" targetFramework="net452" /> 
    <package id="System.Linq.Expressions" version="4.1.0" targetFramework="net452" /> 
    <package id="System.Reflection" version="4.1.0" targetFramework="net452" /> 
    <package id="System.Resources.ResourceManager" version="4.0.1" targetFramework="net452" /> 
    <package id="System.Runtime.Extensions" version="4.1.0" targetFramework="net452" /> 
    <package id="System.Threading" version="4.0.11" targetFramework="net452" /> 
    <package id="System.Threading.Tasks" version="4.0.11" targetFramework="net452" /> 
    <package id="WebActivatorEx" version="2.0.3" targetFramework="net452" /> 
    <package id="xunit" version="2.1.0" targetFramework="net452" /> 
    <package id="xunit.abstractions" version="2.0.0" targetFramework="net452" /> 
    <package id="xunit.assert" version="2.1.0" targetFramework="net452" /> 
    <package id="xunit.core" version="2.1.0" targetFramework="net452" /> 
    <package id="xunit.extensibility.core" version="2.1.0" targetFramework="net452" /> 
    <package id="xunit.extensibility.execution" version="2.1.0" targetFramework="net452" /> 
    <package id="xunit.runner.visualstudio" version="2.1.0" targetFramework="net452" /> 
</packages> 

また、あなたの/App_Config/Includeフォルダがあなたの設定用に設定されていることを確認してください:Here is the Fortis one

関連する問題