如何使用SSDT使用不同的输入对功能进行单元测试

时间:2018-02-01 17:11:04

标签: unit-testing sql-server-data-tools

我正在阅读有关创建SSDT Unit Tests的文档。所有示例都显示了测试存储过程。但是,如果我想测试标量或表值函数,我可以验证给定输入的预期输出。

我知道tSQLt。虽然在该框架中创建单元测试非常容易,但它也与开发数据库紧密相关。我更喜欢在单独的项目中进行测试。测试在单元测试项目中的事实对我来说是一个巨大的吸引力,这就是为什么我决定花费我的努力来获得符合我需要的SSDT单元测试。

我想出了如何创建一个测试条件。 (见截图)。

测试代码块中,我定义了输入值x<- 75并在属性窗口中定义了预期的输出。

y<- 200

enter image description here

我可以单击“测试条件”面板中的绿色加号,并为标量值添加新的测试条件(例如“如果日期为'2/2/2018',则返回'2/1/2018'”) ,但我没有找到为新测试条件设置唯一输入的方法。

换句话说,如何为特定测试条件定义唯一的输入参数?我是否需要创建另一个单元测试文件来测试新条件?

1 个答案:

答案 0 :(得分:0)

@ user7396598给了我提示,我需要弄明白。键创建一个新的单元测试,但不是一个新的单元测试类。

虽然有一个&#34;更短的&#34;执行以下操作的方法,我更喜欢我提出的方法,因为编码器错误的可能性较小。您的样板文件已正确设置,因此您可以专注于为测试设置所需的特定项目。

  1. 右键单击要测试的功能并创建单元测试。
  2. enter image description here

    1. 这是关键:将单元测试插入预先存在的测试类
    2. enter image description here

      1. 看起来很熟悉,但这就是重点。您需要做的就是设置输入值和测试条件。
      2. 这就是你添加新测试的方法。