我想对多个不同的数据库运行 teambuild 的单元测试(不止一次)



我想对不同的数据库运行teambuild的单元测试(不止一次),例如,我想测试我的构建编译,然后对SQLServer、Oracle等数据库运行相同的测试套件。

我很确定我可以做一些笨拙的事情,比如对第一个配置文件进行构建/测试,然后对第二个配置文件执行构建/测试等。但我正在寻找更优雅的东西(最好没有毫无意义的第二次重新编译)。

您需要为每个数据库类型分别进行单元测试(实际上,这些测试被视为系统测试,因为它们涉及数据库)。如果同一个单元测试可能在1个DB平台上失败,在另一个数据库平台上通过,那么当您查看通过/失败状态和该测试随时间推移的测试结果历史记录时,它并不能告诉您足够具体的信息。

否则,请考虑解耦或抽象数据库连接,以便您可以在设置测试时以编程方式更改它(请参阅MSTEST单元测试框架中的[ClassInitialize()]和[TestInitialize]属性)。

优雅的解决方案是不依赖数据库进行单元测试;为数据库创建单独的测试,以检查您正在调用的查询和过程返回的数据。

VisualStudio2010Premium能够运行单元测试来验证SQLServer2005(及更高版本)数据库的数据和行为。如果你不能找到一个测试Oracle数据库的工具,或者推出你自己的测试返回内容的系统(像ndbUnit这样的东西可能会有所帮助),我会感到惊讶

最新更新