I am just beginning to use the Sharp Architecture. I wrote a test to
exercise a repository. The actual test method is:
public void TestCanLoadFlier() {
Flier flierFromDb = _flierRepository.Get(1);
Assert.AreEqual("101", flierFromDb.StockKeepingUnit.TrimEnd());
Assert.AreEqual("Lighting", flierFromDb.Description);
Assert.AreEqual(50000, flierFromDb.QuantityOnHand);
}
The test blows on a null object reference trying to get a Session object
from NHibernate. However, if I swap out MbUnit and use NUnit instead, the
test succeeds. What could I possibly be doing wrong?
The code below is from Sharp, to which I've referenced in the above code.
Thanks, Lars
public class Repository<T> : RepositoryWithTypedId<T, int>,
INHibernateRepository<T> { }
public class RepositoryWithTypedId<T, IdT> :
INHibernateRepositoryWithTypedId<T, IdT>
{
protected ISession Session {
get { return NHibernateSession.Current; }
}
public T Get(IdT id) {
return Session.Get<T>(id);
}
}
public static class NHibernateSession
{
...
public static ISessionStorage Storage { get;
set; }
public static ISession Current {
get {
ISession session =
Storage.Session; // ****This is NHibernateSession.cs:line 88****
if (session == null) {
session =
SessionFactory.OpenSession();
Storage.Session = session;
}
return session;
}
}
Type:System.NullReferenceException
Message:Object reference not set to an instance of an object.
Source:SharpArch.Data
TargetSite:NHibernate.ISession get_Current()
HelpLink:null
StackTrace:
at SharpArch.Data.NHibernate.NHibernateSession.get_Current() in
C:\MyStuff\Dev\Projects\SharpArchitecture\src\SharpArch\SharpArch.Data\NHibe
rnate\NHibernateSession.cs:line 88
at SharpArch.Data.NHibernate.RepositoryWithTypedId`2.Get(IdT id) in
C:\MyStuff\Dev\Projects\SharpArchitecture\src\SharpArch\SharpArch.Data\NHibe
rnate\Repository.cs:line 39
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"MbUnit.User" 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/MbUnitUser?hl=en
-~----------~----~----~----~------~----~------~--~---