У меня есть два тестовых прибора с общим родителем.Несмотря на то, что тесты включают в себя вещи типа SQLite / NHib, которые поначалу обычно бывают немного похожими, в NUnit есть кое-что, чего я не понимаю, и надеюсь, что это поможет исправить эти тесты.
Хорошая новость заключается в том, что если я запустил (через TestDriven.Net) оба вложенных в TestFixtures без выбора общего родителя, все тесты пройдут успешно.Но если я включаю общего родителя в прогон, я получаю сбои (предположительно, потому что мой сеанс NHib был удален или потерял его привязку).
Может кто-нибудь объяснить, почему два теста выполняются самостоятельно, а не с родителем, и есть ли способ обеспечить успешное поведение?
Ура,
Беррил
public class ActivityTestFixture : GreenQueryOnlySQLiteTestFixture
{
protected IProjectDao _projectDao;
protected IDao<Account> _accountDao;
protected override void OnFixtureSetUp()
{
base.OnFixtureSetUp();
_projectDao = DataFactory.GetProjectDao(_sessionFactoryContext.SessionFactory);
_accountDao = DataFactory.GetAccountDao(_sessionFactoryContext.SessionFactory);
}
}
[TestFixture]
public class AccountDaoTests : ActivityTestFixture
{
[Test]
public void FindAll_IsEquivalentToSeeds() {
IList<Account> found;
using (var tx = _session.BeginTransaction()) {
found = _accountDao.FindAll();
tx.Commit();
}
found.AssertUnsavedValueSequenceEqual(ActivitySubjectSeeds.AllAccounts.ToAr ray());
}
}
[TestFixture]
public class ProjectDaoTests : ActivityTestFixture
{
[Test]
public void FindAll_IsEquivalentToSeeds()
{
IList<Project> found;
using (var tx = _session.BeginTransaction())
{
found = _projectDao.FindAll();
tx.Commit();
}
found.AssertUnsavedValueSequenceEqual(ActivitySubjectSeeds.Projects.ToArray ());
}
}