5 sql-server visual-studio unit-test ssdt sql-server-2016
我正在创建 SQL Server 单元测试。我们正在测试各种存储过程。
在单元测试原则中,设置一个小的数据库表,填充值,拆除(截断/删除)数据库表,并为每个测试重新设置是一个很好的做法。这样每个单元测试都会有一个干净的环境来验证插入、选择、更新、删除等的 sproc,
有没有人在哪里或如何在 Sql 单元测试中重新初始化表值?SQL SSDT VS 2017 中的单元测试资源非常新,所以我认为很多人都在试图弄清楚和理解。
随意在下面显示或添加图片。
http://www.sqlservercentral.com/articles/Unit+Testing/155651/ http://www.erikhudzik.com/2017/08/23/writing-sql-server-unit-tests-using-visual-studio- nunit-and-sqltest/
Visual Studio SSDT 中的图片:
此外,尝试在 SQLDatabaseSetup.cs 中查看此类:
[TestClass()]
public class SqlDatabaseSetup
{
[AssemblyInitialize()]
public static void InitializeAssembly(TestContext ctx)
{
// Setup the test database based on setting in the
// configuration file
SqlDatabaseTestClass.TestService.DeployDatabaseProject();
SqlDatabaseTestClass.TestService.GenerateData();
}
}
}
using Microsoft.Data.Tools.Schema.Sql.UnitTesting;
Run Code Online (Sandbox Code Playgroud)
几年前,我正是为此目的创建了usp_Generate_Merge_For_Table过程。它可以使用值构造函数生成 MERGE 命令,以便“重新初始化”特定表的内容。
你可以在这里找到它:
直接链接到原始脚本:
只需在数据库中创建该过程,运行它,同时将您的表名作为参数发送给它,如下所示:
EXEC usp_Generate_Merge_For_Table 'cities', 'dbo'
Run Code Online (Sandbox Code Playgroud)
然后您可以将其输出复制并粘贴到您的单元测试项目中。
您可以在此处找到有关如何使用它的更多信息和详细说明:
https://eitanblumin.com/2018/10/28/generate-merge-statement-as-a-snapshot-of-your-tables-content/
| 归档时间: |
|
| 查看次数: |
505 次 |
| 最近记录: |