I was working with Rhino.Commons this weekend and needed to test a
query I was working with. I had two problems.
1. My SQLServer was a named instanced server so the server value
(local) in the connection string would not work. Its hardcoded in
UnitOfWorkTestContextDbStrategy.cs. I needed (local)\SQL2005.
2. I already had the schema and did not want Rhino.Commons to try to
recreate it.
So I wrote a patch to DatabaseTestFixtureBase and
UnitOfWorkTestContextDbStrategy that allows me to specify a server
name and a bool flag to determine whether or not to create the schema.
Now, I have never created a patch before, so if I hosed this up, let
me know and I will do what I can to fix it.
Also, if I am doing something completely wrong, can some one please
let me know. This has been a helluva learning experience for me, so I
am sure I am missing something. :D
I have uploaded the patch and it allows me to create my tests as such:
[TestFixture]
public class CustomerServiceFixture : DatabaseTestFixtureBase
{
#region Setup/Teardown
[SetUp]
public void TestSetUp()
{
CurrentContext.CreateUnitOfWork();
var customer = new CustomerEntity
{
FirstName = "Joe",
LastName = "Young"
};
UnitOfWork.CurrentSession.Save(customer);
UnitOfWork.CurrentSession.Flush();
}
[TearDown]
public void TestTearDown()
{
Repository<CustomerEntity>.DeleteAll();
CurrentContext.DisposeUnitOfWork();
}
#endregion
[TestFixtureSetUp]
public void TestFixtureSetup()
{
IntializeNHibernateAndIoC(PersistenceFramework.ActiveRecord,
//
Persistence Framework
"Windsor.boo", // Configuration
DatabaseEngine.MsSql2005, // Database Type
"SandBox_Dev", // Database Name
@"(local)
\SQL2005", // Server Name
false, // Create Schema
MappingInfo.FromAssemblyContaining<Entity>(), // AR Entities
null); // Additional NH
Properties
}
[Test]
public void CanFetchCustomer()
{
var criteria = DetachedCriteria.For(typeof
(CustomerEntity));
criteria.Add(Restrictions.Eq("LastName", "Young"));
var customer =
Repository<CustomerEntity>.FindFirst(criteria, new[]
{Order.Asc("LastName")});
Assert.IsNotNull(customer);
}
}
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Rhino Tools Dev" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at
http://groups.google.com/group/rhino-tools-dev?hl=en
-~----------~----~----~----~------~----~------~--~---