Unit testing VisualStudio测试

Unit testing VisualStudio测试,unit-testing,visual-studio-2012,Unit Testing,Visual Studio 2012,我试图在IDE中进行一些单元测试 在测试期间,应该从configurationmanager读取正在测试的公开服务,从而获得到数据库的连接字符串。这在DEV和PROD中工作。但是在MS单元测试平台下运行,它没有读取配置,因此我得到一个空引用异常 我可以进入并硬编码连接字符串,它工作得很好- 但我的问题是 是否有办法在正在测试的实际代码中确定它正在测试,并使用备用连接字符串(硬编码) 在我看来,条件定义(即#debug)会告诉编译器使用这个而不是那种东西 我很抱歉这个写得不好的问题,这个单元测试平

我试图在IDE中进行一些单元测试

在测试期间,应该从configurationmanager读取正在测试的公开服务,从而获得到数据库的连接字符串。这在DEV和PROD中工作。但是在MS单元测试平台下运行,它没有读取配置,因此我得到一个空引用异常

我可以进入并硬编码连接字符串,它工作得很好-

但我的问题是

是否有办法在正在测试的实际代码中确定它正在测试,并使用备用连接字符串(硬编码)

在我看来,条件定义(即#debug)会告诉编译器使用这个而不是那种东西

我很抱歉这个写得不好的问题,这个单元测试平台的东西对我来说是新的


感谢您将app.config添加到您的测试项目中,并将连接字符串放入该文件。

您可能需要确保MS单元测试项目有一个配置-因此配置设置最终位于MS单元测试实际运行的文件夹中


但是,我建议您从单元测试中删除任何数据库连接,因为单元测试应该测试业务逻辑。涉及与web服务或数据库连接的测试不是测试逻辑。

Joe-我同意你关于数据库的断言-我的单元测试是测试代码的web服务部分,单元测试嵌入到项目中,因此测试调用在测试运行时生成的web服务。通过添加app.config,并将连接字符串复制到app.config文件中,并将其放置在测试项目中,可以调用web服务,并使用所需的参数。非常感谢。