Вы хотите проверить каждый тип изолированно. То есть, когда вы пишете тесты для своих бизнес-объектов, вы не хотите, чтобы вас заставляли применять код для DAL и вспомогательных объектов, которые он использует (например, XTime900Entities и т. Д.).
В настоящее время все эти типы тесно связаны друг с другом, что не является необходимым и является проблемой с точки зрения тестируемости. То есть юнит-тест для вашего класса бизнес-объектов должен быть связан с вашим уровнем доступа к данным и реализацией. Это не будет работать в долгосрочной перспективе. Он не будет масштабироваться по большой базе кода, и обслуживание модульных тестов будет стремительно расти.
Кроме того, вам нужно принять во внимание исключения здесь. Например, xTime900Entities.Dispose (); не будет вызван, если в середине этого метода есть исключение. Это означает, что ваш код будет пропускать ресурсы, если во время InsertTitle произойдет что-то непредвиденное. Это общая концепция, но что-то вроде этого было бы лучше в этом случае:
XTime900Entities xTime900Entities = new XTime900Entities ()
{
// остальная часть метода
} // утилизировать вызываемый здесь автоматически, независимо от того, выброшено исключение в блоке или нет
Хорошей практикой является внедрение зависимостей, зависимостей от абстракций для изоляции проблем, что позволяет проводить тестирование изолированно.