如何将批次放入我的预测试脚本中? [英] How can I put batches into my Pre-test scripts?
问题描述
您好,我是
我在 数据库单元测试。我应该知道的任何语法限制但没有
得到很多响应所以我再试一次。
我在单元测试预测试脚本中有以下代码:
CREATE DATABASE [MyDB];
USE [MyDB];
CREATE SCHEMA [myschema]
推荐答案
是
我正在使用数据库单元测试功能,我遇到了一些我无法解决的问题说明。我的预测试中有以下内容:
Hi,
I'm using the DB unit testing features and am getting some issues I can't explain. I have the following in my Pre-test:
USE master
GO
CREATE DATABASE OneTableOneRowTest;
当我运行测试时它失败了(我突出显示了错误):
When I run the test it fails with (I've highlighted the error):
System.Data.SqlClient.SqlException未被用户代码
消息= "GO"附近的语法不正确。
Source = .Net SqlClient数据提供者
ErrorCode = -2146232060
等级= 15
LineNumber = 2
号码= 102
程序=""
服务器=。
州= 1
StackTrace:
在Microsoft.Data.Schema.UnitTesting.ExecutionEngine.ExecuteTest(ConnectionContext ctx,String testSql,DbParameter [] tsqlParameters)
在Microsoft.Data.Schema.UnitTesting.DatabaseTestService.Execute(ConnectionContext scriptExecutionContext,ConnectionContext privilegedExecutionContext,DatabaseTestAction action,DbParameter [] sqlParameters)
在CascadingDataViewerTests.DatabaseUnitTest1.OneTableOneRow()在C:\ Users \ jamie \Documents\Visual Studio 2010 \Projects \ -T-SQL\sp_CascadingDataViewer \CascadingDataViewerTests \DatabaseUnitTest1.cs:第39行>
InnerException:
System.Data.SqlClient.SqlException was unhandled by user code
Message=Incorrect syntax near 'GO'.
Source=.Net SqlClient Data Provider
ErrorCode=-2146232060
Class=15
LineNumber=2
Number=102
Procedure=""
Server=.
State=1
StackTrace:
at Microsoft.Data.Schema.UnitTesting.ExecutionEngine.ExecuteTest(ConnectionContext ctx, String testSql, DbParameter[] tsqlParameters)
at Microsoft.Data.Schema.UnitTesting.DatabaseTestService.Execute(ConnectionContext scriptExecutionContext, ConnectionContext privilegedExecutionContext, DatabaseTestAction action, DbParameter[] sqlParameters)
at CascadingDataViewerTests.DatabaseUnitTest1.OneTableOneRow() in C:\Users\jamie\Documents\Visual Studio 2010\Projects\T-SQL\sp_CascadingDataViewer\CascadingDataViewerTests\DatabaseUnitTest1.cs:line 39
InnerException:
这是为什么?或者,更重要的是,我如何解决这个问题?我知道GO不是真正的T-SQL关键字,但我仍然希望能够像这样运行我的测试:
Why is this? Or, more importantly, how do I get around this? I know that GO isn't an actual T-SQL keyword but I still would like to be able to run my tests like this:
- 创建数据库
- 切换到该数据库
- 设置数据库对象
- 运行测试
- 切换to [master]
- 拆除在测试开始时创建的wsa数据库。
如果GO不起作用怎么办呢?
How can I do that if GO does not work?
谢谢你,
Jamie
Thanks
Jamie
这篇关于如何将批次放入我的预测试脚本中?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!