【发布时间】:2015-02-13 08:38:55
【问题描述】:
我们使用不属于我们的数据库来管理。我们在其上定义了一些视图,以便我们的代码(带有实体框架的 C#)可以简单地映射到这些视图。这些视图将在稍后提供给数据库所有者。他们将实现它们,以便我们可以使用它们。
在测试期间,我们模拟该数据库。我们在数据库的备份上使用实体框架工具来生成它的 DbContext。我们每次运行测试时都会创建它。这甚至是要走的路吗?
在测试期间,我们想在一些表中插入数据,并从相关视图中读取结果。我们这样做是为了测试视图以及将对其进行操作的 C# 代码(这些视图中存在不平凡的逻辑)。
您对此有何看法?我们不应该每次都重新创建模拟数据库,而是使用已定义视图的静态数据库吗?我们是否应该在 C# 中定义视图以便在数据库上创建它们?我们的方法完全错误吗?其他人如何解决类似问题?
【问题讨论】:
-
我很想知道您是否找到了一种方法来做到这一点,因为我目前处于类似情况,并且我正在努力了解如何最好地根据视图测试实体。我们可以测试将数据插入到基础表中,但我不确定最佳实践是什么,然后测试我们是否可以正确检索该数据。
标签: c# sql-server entity-framework unit-testing views