在单元测试从 [DataSource] 加载数据之前对数据库执行操作,或手动设置 TestContext.DataRow

本文关键字:操作 执行 DataRow TestContext 设置 数据库 DataSource 单元测试 加载 数据 | 更新日期: 2023-09-27 18:34:56

我想先在我的数据库中运行一个存储过程,然后再从单元测试中的 [数据源] 加载测试数据。此过程采用特定于每个测试方法的参数。

如何为每个测试方法调用一次 sp?我尝试在一个属性中执行此操作,这有效,但它很混乱。

或者,这就是我在这里真正想做的,有没有办法从 SQL Server 动态加载测试数据,或者可能拦截单元测试基于每个测试方法进行的 sql 调用?

在单元测试从 [DataSource] 加载数据之前对数据库执行操作,或手动设置 TestContext.DataRow

您可以使用包装器抽象化如何获取测试数据。 与其调用TestContext.DataRow[dataRowColumnName]不如直接用新类包装它。 在此包装类中,您可以重写值或使用数据库中的测试数据。