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

C# 在单元测试从[DataSource]加载数据之前对数据库执行操作,或手动设置TestContext.DataRows,c#,unit-testing,datasource,C#,Unit Testing,Datasource,在单元测试中从[DataSource]加载测试数据之前,我希望在数据库中运行一个存储过程。本程序采用每种试验方法特有的参数 每个测试方法如何调用sp一次?我试着在属性中这样做,虽然有效,但很混乱 或者,这就是我在这里真正想做的,有没有一种方法可以动态地从SQL Server加载测试数据,或者可能拦截单元测试在每个测试方法的基础上进行的SQL调用?您可以抽象出如何使用包装器获取测试数据。而不是调用TestContext.DataRow[dataRowColumnName]直接用新类包装它。在这个包

在单元测试中从[DataSource]加载测试数据之前,我希望在数据库中运行一个存储过程。本程序采用每种试验方法特有的参数

每个测试方法如何调用sp一次?我试着在属性中这样做,虽然有效,但很混乱


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

您可以抽象出如何使用包装器获取测试数据。而不是调用
TestContext.DataRow[dataRowColumnName]
直接用新类包装它。在这个包装器类中,您可以覆盖这些值或使用数据库中的测试数据。

不幸的是,我担心的不是这些值。我得到的是实际的行数。“我的进程”旨在运行一些筛选,这些筛选将在输入测试方法之前添加/剪切行。您是否尝试过在ClassInitialize方法中运行进程?-这或多或少是我的想法。