如何不允许仅在本地重新创建数据库

时间:2019-04-24 11:57:15

标签: c# git unit-testing

我有使用DataProvider方法的InitiateDataBase

    void InitiateDataBase()
    {
        //Some codes before...

        if (ShouldRecreateDataBase())
        {
            DeleateDataBase();
            CreateDataBase();
        }

        //Some codes after...
    }

在测试中,我使用DataProvider(我在TestInitializing中创建DataProvider的实例)。在本地,当我更改模型并运行一些测试时,将重新创建数据库。但是我不想总是在本地重新创建数据库(需要几分钟)。在服务器端,应始终重新创建数据库。我想创建允许我选择“是否创建数据库”的应用程序,但是我该怎么做呢?

1 个答案:

答案 0 :(得分:1)

您可以使用#if directive,因此,使用Debug版本时,数据库不会发生任何变化。在生产环境中,您使用发布版本

void InitiateDataBase()
{
    //Some codes before...

    if (ShouldRecreateDataBase())
    {
#if !DEBUG
        DeleateDataBase();
        CreateDataBase();
#endif
    }

    //Some codes after...
  }