This post has been migrated from www.experimentsincode.com, we apologise if some of the images or content is missing
The post describes the steps you will need to take to get Sitecore 6.5 running in the NUnit GUI. This will allow you to run unit tests in the NUnit GUI that pull data from Sitecore. I will be using the test assembly from the Glass.Sitecore.Mapper project as the example. First we have our project with the test assembly:<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, Sitecore.Logging" /> <section name="sitecore" type="Sitecore.Configuration.ConfigReader, Sitecore.Kernel" />Beneath the /configuration element add:
<sitecore configSource="App_Config\Sitecore.config" /> <log4net />Your App.Config should look something like this:
Line | Original | New |
---|---|---|
7 | <sc.include file="/App_Config/Prototypes.config" /> | <sc.include file=".\App_Config\Prototypes.config" /> |
665 | <sc.include file="/App_Config/Prefetch/Common.config" /> <sc.include file="/App_Config/Prefetch/Core.config" /> | <sc.include file=".\App_Config\Prefetch\Common.config" /> <sc.include file=".\App_Config\Prefetch\Core.config" /> |
703 | <sc.include file="/App_Config/Prefetch/Common.config" /> <sc.include file="/App_Config/Prefetch/Master.config" /> | <sc.include file=".\App_Config\Prefetch\Common.config" /> <sc.include file=".\App_Config\Prefetch\Master.config" /> |
748 | <sc.include file="/App_Config/Prefetch/Common.config" /> <sc.include file="/App_Config/Prefetch/Web.config" /> | <sc.include file=".\App_Config\Prefetch\Common.config" /> <sc.include file=".\App_Config\Prefetch\Web.config" /> |
997 | <add name="domains" type="Sitecore.Configuration.XmlConfigStore, Sitecore.Kernel" factoryMethod="LoadFromFile" arg0="/App_Config/Security/Domains.config" /> <add name="globalRoles" type="Sitecore.Configuration.XmlConfigStore, Sitecore.Kernel" factoryMethod="LoadFromFile" arg0="/App_Config/Security/GlobalRoles.config" /> | <add name="domains" type="Sitecore.Configuration.XmlConfigStore, Sitecore.Kernel" factoryMethod="LoadFromFile" arg0=".\App_Config\Security\Domains.config" /> <add name="globalRoles" type="Sitecore.Configuration.XmlConfigStore, Sitecore.Kernel" factoryMethod="LoadFromFile" arg0=".\App_Config\Security\GlobalRoles.config" /> |
1083 | <sc.include file="/App_Config/FieldTypes.config" /> | <sc.include file=".\App_Config\FieldTypes.config" /> |
1517 | <sc.include file="/App_Config/XamlSharp.config" /> | <sc.include file=".\App_Config\XamlSharp.config" /> |
1521 | <sc.include file="/App_Config/LanguageDefinitions.config" /> | <sc.include file=".\App_Config\LanguageDefinitions.config" /> |
1808 | <sc.include file="/App_Config/MimeTypes.config" /> | <sc.include file=".\App_Config\MimeTypes.config" /> |
1834 | <sc.include file="/App_Config/Commands.config" /> | <sc.include file=".\App_Config\Commands.config" /> |
1838 | <sc.include file="/App_Config/Icons.config" /> | <sc.include file=".\App_Config\Icons.config" /> |
1842 | <sc.include file="/App_Config/Portraits.config" /> | <sc.include file=".\App_Config\Portraits.config" /> |
<setting name="LicenseFile" value="D:\projects\Glass\Sitecore\Data\license.xml" />Finally for every file beneath the App_Config in your test assembly you need to ensure that it is copied on build:
[TestFixture] public class SitecoreConnectionFixture { [Test] public void ConnectionTest_ConnectsToSitecoreDatabase_RetrievesRootItem() { Database db = global::Sitecore.Configuration.Factory.GetDatabase("master"); Item item = db.GetItem("/sitecore"); Assert.IsNotNull(item); Assert.AreEqual("sitecore", item.Name.ToLower()); } }