2016-10-01 1 views
2

Ich begann mit Standard Sitecore.Kernel und Sitecore.Nexus. Sitecore gibt hier eine ziemlich beschreibende Fehlermeldung, also fügte ich auch DependencyInjection hinzu. Es bringt viele Abhängigkeiten und sie werden nicht in Config Belo angezeigt. Wie Sie sehen können, verwende ich *.NoReferences Version von Sitecore-Pakete, um Abhängigkeiten zu steuern.Was ist der minimale Fuge-Fußabdruck für Sitecore-FakeDB-Tests?

<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> 

Danach steckte ich fest. Ich habe einen Fehler, der nicht auf viel Ahnung vorsah was verpasst:

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 

Also, was einfach Gefälschte DB Testarbeit machen fehlt?

Antwort

4

Nachdem alle Pakete versuchen, als Abhängigkeiten in voller Sitecore.Kernel referenzierten ich mit diesem Setup beendet:

<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> 

Es ist ckear jetzt, dass Sitecores nicht ohne Sitecore.Logging starten kann.

Lucene.Net auch erforderlich, aber Fehler es ist viel mehr hilfreich:

System.IO.FileNotFoundException: konnte nicht geladen werden Datei oder Assembly ‚Lucene.Net, Version = 3.0.3.0, Culture = neutral, PublicKeyToken = 85089178b9ac3181 'oder eine seiner Abhängigkeiten. Das System kann die angegebene Datei nicht finden.

P.S. Wenn Sie nicht über Referenzierung zusätzliche DLLs kümmern können Sie nur zwei Pakete in dem Sie die Arbeit machen zu testen - Sitecore.Nexus (ohne .NoReferences) und Microsoft.Extensions.DependencyInjection

1

Hier ist die Liste der Pakete, die ich in dem Fortis Unit-Test-Projekt verwendet:

<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> 

Stellen Sie auch sicher, dass Sie Ihre /App_Config/Include Ordner-Setup für Ihre Konfiguration haben: Here is the Fortis one

Verwandte Themen