使用假货自动化单元测试DbContext和集成测试

时间:2016-03-09 19:45:56

标签: c# unit-testing entity-framework-6 integration-testing

假设我有以下代码:

<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
<CheckBoxPreference android:title="Application Updates"
    android:defaultValue="false"
    android:summary="Simple check box preference."
    android:key="applicationUpdates" />

假设无论出于何种原因我想对这种方法进行单元测试。在这种情况下,我可以使用MS Fakes伪造上下文。但是,如果我想针对真正的Db测试此代码,我必须编写另一个单元测试来执行此操作。是否有(好的或方便的或推荐的)方法来编写一个单元测试,其中一个开关可以使用虚假上下文或真实数据库进行测试?

1 个答案:

答案 0 :(得分:1)

我绝对建议您查看努力: https://effort.codeplex.com/

它是一个“实体框架单元测试工具”,用于设置内存数据库。数据库可以是“瞬态”(为每个测试重新创建)或“持久”(为所有单元测试维护相同的数据库)。

单元和集成测试的两全其美。我发现它比仅仅模拟IDbSet更简单。